OpenEdv-开源电子网

标题: 任务挂起后,若有任务通知,则挂起任务会照样运行问题 [打印本页]

作者: daiqh    时间: 2021-8-9 00:21
标题: 任务挂起后,若有任务通知,则挂起任务会照样运行问题
在FreeRTOS中,如果A任务执行vTaskSuspend()被挂起,之后系统某时间产生了A的任务通知,此时发现虽然A任务是挂起状态,但只要产生A任务通知,A任务照样进入运行状态,这样是正常吗,不是说只有xTaskResume()才能使任务进入就绪,再进入运行态吗,请教各位,谢谢。

作者: A571157242    时间: 2021-8-9 00:21
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值。任务通知是一个事件,假如某个任务通知的接收任务因为等待任务通知而阻
塞的话,向这个接收任务发送任务通知以后就会解除这个任务的阻塞状态。》
这是手册的原话
作者: daiqh    时间: 2021-8-9 11:46
了解,那要加一个判断这个任务是否被挂起,然后再发任务通知了
作者: daiqh    时间: 2021-8-9 11:47
A571157242 发表于 2021-8-9 10:01
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值 ...

了解,那要加一个判断这个任务是否被挂起,然后再发任务通知了
作者: yikexiaoshu    时间: 2021-10-28 14:04
A571157242 发表于 2021-8-9 00:21
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值 ...

楼主说的是主动挂起的,不是等待任务通知阻塞的。当然挂起之前是否阻塞在等待任务通知就不知道了。。。




欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/) Powered by Discuz! X3.4