[STM32F4] UCOS III通过消息队列发送数据到一个任务,但是任务收到的数据却不是发送的数据

[复制链接]
3708|5
 楼主| numbqq 发表于 2015-11-19 10:51 | 显示全部楼层 |阅读模式
系统用到UCOS III,但在运行一段时间(几小时到几天不等)后发现偶尔会出现这样一种现象就是消息队列发送的数据与任务接收的数据不同,我是在中断中发送消息到一个任务,但偶尔会出现任务收到的数据与发送的数据不同的情况,请教一下各位有碰到过类似的情况没有?
 楼主| numbqq 发表于 2015-11-19 18:26 | 显示全部楼层
没人碰到过么
 楼主| numbqq 发表于 2015-11-20 11:48 | 显示全部楼层
lin704932121 发表于 2015-12-8 22:28 | 显示全部楼层
我用的是uC/OS-III  v3.03,至今没遇到过这种情况,应该是你内存分配和释放有问题。
我常用的做法是:
中断:
mem = OSMemGet();
OSTaskQpost(mem);
任务:
mem = OSTaskQPend();
OSMemFree(mem);
jn152 发表于 2016-1-13 09:55 | 显示全部楼层
发消息的地址空间被改掉了,加个互斥锁试试
ccw1986 发表于 2016-4-14 22:16 | 显示全部楼层
我现在是发送信号量总是导致程序无法调度,不知道为什么呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部