完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
UCOSII的消息邮箱深度为1,就是说消息邮箱在同一时刻只能被一个消息占用。今天想尝试下在任务中连续发送三个消息数据(每个消息为一个字节)给消息邮箱会怎么样,按道理来讲应该只能接收到第一个消息,第二、第三个消息应该会返回错误代码0x20(消息邮箱满)。可是,奇迹来了,第一、第二个消息正常接收,第三个消息返回错误代码0x14。
代码如图中所示:建立两个任务,任务一等待消息邮箱并将消息通过串口发送,任务二查询按键,有按键按下,则连续发送三个消息,每个消息发送失败后抢先通过串口发送错误代码。结果串口助手接收到:0x14(第三个消息的错误代码),0x01(按键码值),0x01(按键码值),说明在任务二中前两个消息发送成功,第三个消息发送失败,且出错代码为0x14。 我的问题是:1.消息邮箱一次只能接收一个消息,为什么发送两个消息都能收到; 2.出错代码应该是0x20(邮箱满),为什么实际返回0x14(OS_ERR_PEND_ABORT)。 |
|
相关推荐
1个回答
|
|
|
先把左工的沙发占了。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:40 , Processed in 0.777121 second(s), Total 75, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1988