求助:freertos 消息队列发送如何不引起任务调度

2019-12-10 18:25发布

打脸了 ,本来打字主意搞非实业的,结果还是有个小项目要做。

遇到的问题是,我想A任务发消息给B任务,但不引导任务切换。原来用ucos没有遇到这个问题(里面有这个参数可以决定是否任务切换)。但在freertos好像不行,如果B任务优先级比A高,就一定要切换。
求指点:
消息发送函数为:xQueueGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition )
我所能想到的方法唯一就是改写这个原代码了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
相由心生
1楼-- · 2019-12-11 15:08
bg6agf 发表于 2019-6-8 23:16
本该如此啊…

有些场合不希望立即切换,希望一会A空闲了,B再执行,不要立即执行。
vipcff
2楼-- · 2019-12-11 16:37
这个之前我也遇到类似的,在rtx系统中,把a放在b任务中,作为b的一部分  但是是否能解决不确定,其他人搞的
zhaoyuanxian
3楼-- · 2019-12-11 19:22
A,B不是可以设成同级吗?采用时间片
zchong
4楼-- · 2019-12-12 00:05
 精彩回答 2  元偷偷看……
wye11083
5楼-- · 2019-12-12 04:57
zhaoyuanxian 发表于 2019-6-9 08:03
A,B不是可以设成同级吗?采用时间片

lz说的是实时系统。
justdomyself
6楼-- · 2019-12-12 05:18
相由心生 发表于 2019-6-9 00:06
有些场合不希望立即切换,希望一会A空闲了,B再执行,不要立即执行。

那就用自己的队列

一周热门 更多>