OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4908|回复: 2

ucosiii消息队列的使用

[复制链接]

11

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2018-3-11
在线时间
11 小时
发表于 2018-3-15 21:05:59 | 显示全部楼层 |阅读模式
ucosiii例程消息传递,remain size为什么从4减到0再增加到4?
定时器回调函数每发送一个消息,remain size会减少1,  msgdis_task任务每请求一个,remain size 会加一,但是每发送一个,再引发一次任务调度,请求一个,那么数量可以不变啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2018-8-14
在线时间
7 小时
发表于 2018-8-26 20:30:11 | 显示全部楼层
在第4s的时候消息队列里是5 6 7 8(此时4刚好出队,8入队)Remain是0,第4.5s的时候回调函数向消息队列发送“ALIENTEK 9”的时候由于队列已经满了 所以定时器关闭   以后的过程就是5 6 7 8依次出队同时Remain依次显示 1 2 3 4 ,等到队空的时候任务被挂起。

你画一个过程就懂了   注意三个时间 回调函数发送队列消息500ms   请求队列消息1s    扫描显示Reamin值   100ms
回复 支持 2 反对 0

使用道具 举报

16

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
349
金钱
349
注册时间
2016-12-21
在线时间
141 小时
发表于 2018-4-4 10:59:29 | 显示全部楼层
因为你定时器回调函数发送消息的速度和你任务请求的速度是不一样的,一个500ms,一个1秒,当消息队列满了以后会自动关掉定时器。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-2 08:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表