OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5551|回复: 4

任务挂起后,若有任务通知,则挂起任务会照样运行问题

[复制链接]

24

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
279
金钱
279
注册时间
2012-3-21
在线时间
17 小时
发表于 2021-8-9 00:21:17 | 显示全部楼层 |阅读模式
1金钱
在FreeRTOS中,如果A任务执行vTaskSuspend()被挂起,之后系统某时间产生了A的任务通知,此时发现虽然A任务是挂起状态,但只要产生A任务通知,A任务照样进入运行状态,这样是正常吗,不是说只有xTaskResume()才能使任务进入就绪,再进入运行态吗,请教各位,谢谢。

最佳答案

查看完整内容[请看2#楼]

《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue 就是这个通知值。任务通知是一个事件,假如某个任务通知的接收任务因为等待任务通知而阻 塞的话,向这个接收任务发送任务通知以后就会解除这个任务的阻塞状态。》 这是手册的原话
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4198
金钱
4198
注册时间
2019-9-4
在线时间
881 小时
发表于 2021-8-9 00:21:18 | 显示全部楼层
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值。任务通知是一个事件,假如某个任务通知的接收任务因为等待任务通知而阻
塞的话,向这个接收任务发送任务通知以后就会解除这个任务的阻塞状态。》
这是手册的原话
回复

使用道具 举报

24

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
279
金钱
279
注册时间
2012-3-21
在线时间
17 小时
 楼主| 发表于 2021-8-9 11:46:46 | 显示全部楼层
了解,那要加一个判断这个任务是否被挂起,然后再发任务通知了
回复

使用道具 举报

24

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
279
金钱
279
注册时间
2012-3-21
在线时间
17 小时
 楼主| 发表于 2021-8-9 11:47:57 | 显示全部楼层
A571157242 发表于 2021-8-9 10:01
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值 ...

了解,那要加一个判断这个任务是否被挂起,然后再发任务通知了
回复

使用道具 举报

3

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2018-8-5
在线时间
11 小时
发表于 2021-10-28 14:04:39 | 显示全部楼层
A571157242 发表于 2021-8-9 00:21
《FreeRTOS 的每个任务都有一个 32 位的通知值,任务控制块中的成员变量 ulNotifiedValue
就是这个通知值 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表