用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。

上传人:飞*** 文档编号:36902727 上传时间:2018-04-04 格式:DOC 页数:6 大小:77.50KB
返回 下载 相关 举报
用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。_第1页
第1页 / 共6页
用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。_第2页
第2页 / 共6页
用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。_第3页
第3页 / 共6页
用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。_第4页
第4页 / 共6页
用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。》由会员分享,可在线阅读,更多相关《用UC0SII实现任务间共享变量的无冲突访问及任务间的消息邮箱通信和队列通信。(6页珍藏版)》请在金锄头文库上搜索。

1、实验项目名称:实验项目名称:用 UC0SII 实现任务间共享变量的无冲突访问及任务间的消息邮箱通信 和队列通信。实验目的:实验目的:1、实现任务之间共享变量无冲突的访问2、实现任务之间消息邮箱的通信3、实现任务之间的消息队列的通信实验内容实验内容( (实验过程及问题的解决实验过程及问题的解决) ):实验主要参照了例题 4.7、4.8、4.9,将 3 个例题合成一个任务,满足题目的要求。首先,设置了 5 个任务,oneTask 和 foTask 2 个任务建立了互斥信号*Mutexp,用OSMutexPend(Mutexp,0,和 OSMutexPost(Mutexp),并延时等待一秒,进行 2

2、 个任务的共享变量无冲突访问控制。然后在 hertask 任务中,显示 times 的次数,并使用消息邮箱 OSMboxPost(Str_Box,s)给 twoTask 任务邮箱消息,twoTask 接收到消息后,根据OSTimeGet()获得系统时间范围来判断要传送给 stwoTask 任务的字符,并使用OSQPost(Str_Q,s4)和 OSQPend(Str_Q,0,进行消息队列的通信。调试与结果测试分析:调试与结果测试分析:字符 oneTask running 和 foTask running 在互斥信号的条件下,一直循环配对出现,而 屏幕上的数字就是消息邮箱传递消息的次数,而 tw

3、oTask running 和 stwoTask running 各出 现了 2 次,是由于在消息队列邮箱中设置了在 100OSEventPtr,/s, DISP_BGND_BLACK+DISP_FGND_WHITE );*/ Times+;OSTimeDlyHMSM(0, 0,1, 0);/等待 1 秒 /*任务 twoTask*/ void twoTask (void *pdata) #if OS_CRITICAL_METHOD = 3OS_CPU_SR cpu_sr; #endifpdata = pdata; for (;) ss=OSMboxPend(Str_Box,10, PC_Di

4、spStr(10,+y,ss, DISP_BGND_BLACK+DISP_FGND_WHITE ); if(OSTimeGet()100 /发送消息 OSTimeDlyHMSM(0, 0, 1, 0);/等待 1 秒 /*任务 stwoTask*/ void stwoTask (void *pdata) #if OS_CRITICAL_METHOD = 3OS_CPU_SR cpu_sr; #endifpdata = pdata;for (;) ss=OSQPend(Str_Q,0, /请求消息队列 PC_DispStr(10,+y, ss, DISP_BGND_BLACK+DISP_FGND_WHITE );OSTimeDlyHMSM(0, 0, 1, 0);/等待 1 秒

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号