内核实验(七).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核实验(七).ppt

内核实验(七);实验目的; 消息队列是μC/OS-II中的一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送以指针方式定义的变量。因具体的应用有所不同,每个指针指向的数据结构变量也有所不同。;7个应用任务: TA0TA1TA2TA3TA4TA5TaskCon(控制任务) 创建队列 以FIFO方式释放消息 以LIFO方式释放消息 清空消息队列、查询消息队列 删除消息队列 ;#define OS_LOWEST_PRIO   11 /*任务优先级不可以大于11*/;#define OS_Q_EN 1 /*是否允许使用消息队列功能*/;#define OS_TICKS_PER_SEC 200 /*设置每秒之内的时钟节拍数目*/; OSTaskCreate():建立一个新任务 ; OSQQuery() :取得消息队列的信息 ;1、建立队列和创建起始任务TaskStart;TaskStart负责:;2、创建任务;void Taskq1 (void *pdata) { …… for (;;) { /* 无限循环 */ …… OSTimeDlyHMSM(0, 0, 2, 0); mg=OSQPend(q1,0,err); …… OSTimeDlyHMSM(0, 0, 0, 200*(4-id)); …… } };void Taskq2 (void *pdata) { …… for (;;) { /* 无限循环 */ …… OSTimeDlyHMSM(0, 0, 2, 0); mg=OSQPend(q1,0,err); …… OSTimeDlyHMSM(0, 0, 0, 200*(4-id)); …… } };4、控制任务; …… for (;;) /* 无限循环 */ { …… for( i = 0 ; i 6 ; i++ ) { err = OSQPost (q2,(void*)t[i]); /* post message to q2 FIFO */ } …… } ; …… OSQFlush(q2); /* clear up the queue2. */ …… err=OSQQuery(q2,data); /* get the information about q2 */ …… q=OSQDel(q2,OS_DEL_ALWAYS,err); /* delete the q2 */ …… } ;谢谢!

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档