首页 > 代码库 > UCOS中的消息队列并不是真正意义上的队列
UCOS中的消息队列并不是真正意义上的队列
UCOS中的消息队列并不是真正意义上的队列,它只是发送了想要发送数据的指针,这个时候,如果发送多个同一个变量的不同数据,那么数据就相当于被覆盖了.
解决办法:
定义一个缓存数组buffer[i];
更改变量i的数值,就可以实现一个变相的FIFO,因为每次发送的变量的指针是不同的.
i++;
i %= bufsize;
buffer[ ( i + bufsize - 1 ) % bufsize ]; //此处是取的上一个数据,当前数据直接取buffer[i]即可.
UCOS中的消息队列并不是真正意义上的队列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。