完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
如果当前有两个任务(任务1:优先级1;任务2:优先级2)在等待同一个邮箱消息的到达,此时两个任务均被挂机,那么我如果发送邮箱消息时,那么此时会查找当前正待该邮箱消息的最高优先级任务(任务1),并将该任务就绪。 那么问题来了:等待列表中最高优先级任务(任务1)就绪了,该任务得以继续执行,但是次优先级的任务(任务2)怎么得到消息呢? 难道还要发送一次邮箱消息? 我是小白,还请各路朋友们耐心指教,本白将不胜感激。 |
|
相关推荐
9个回答
|
|
任务1得到消息后开始执行,如果任务2也需要该消息,则需要某个任务重新发一个消息即可,如果多个任务都需要该消息,可以使用广播方式发送消息邮箱
|
|
|
|
用函数OSMboxPostOpt(),里面有一个opt的参数,如果该值为1则发消息给所有等待消息任务,如果该值为0则跟OSMboxPost()作用一样
|
|
|
|
帮顶.....
|
|
|
|
这样可能不?1得到消息后,在1里面给2发消息,2不用等最开始的消息了,只等1收到消息后,发给2的消息。
|
|
|
|
在pend的时候加一个if条件判断,根据不同的邮箱内容去确定是任务a还是任务b,或者给据不同的延时时间来具体分任务
|
|
|
|
理论上是可行的
|
|
|
|
我这里使用的是同一个邮箱,并且消息内容是一样的
|
|
|
|
怎么广播发送邮箱?将等待列表内所有的任务置为就绪状态?
|
|
|
|
领教了!
|
|
|
|
只有小组成员才能发言,加入小组>>
772 浏览 0 评论
1148 浏览 1 评论
2527 浏览 5 评论
2858 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1060浏览 3评论
189浏览 2评论
453浏览 2评论
365浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
452浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 11:46 , Processed in 1.126873 second(s), Total 95, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号