1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
UCOSII的消息邮箱深度为1,就是说消息邮箱在同一时刻只能被一个消息占用。今天想尝试下在任务中连续发送三个消息数据(每个消息为一个字节)给消息邮箱会怎么样,按道理来讲应该只能接收到第一个消息,第二、第三个消息应该会返回错误代码0x20(消息邮箱满)。可是,奇迹来了,第一、第二个消息正常接收,第三个消息返回错误代码0x14。
代码如图中所示:建立两个任务,任务一等待消息邮箱并将消息通过串口发送,任务二查询按键,有按键按下,则连续发送三个消息,每个消息发送失败后抢先通过串口发送错误代码。结果串口助手接收到:0x14(第三个消息的错误代码),0x01(按键码值),0x01(按键码值),说明在任务二中前两个消息发送成功,第三个消息发送失败,且出错代码为0x14。 我的问题是:1.消息邮箱一次只能接收一个消息,为什么发送两个消息都能收到; 2.出错代码应该是0x20(邮箱满),为什么实际返回0x14(OS_ERR_PEND_ABORT)。 |
|
相关推荐
1个回答
|
|
先把左工的沙发占了。
|
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:44 , Processed in 1.126853 second(s), Total 77, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号