OpenEdv-开源电子网

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

xSemaphoreTake 多久執行一次?

[复制链接]

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
发表于 2019-1-8 13:53:19 | 显示全部楼层 |阅读模式
10金钱
請問如果有任務被 xSemaphoreTake( XXX, portMAX_DELAY); 卡著
1. 這個任務是多久會檢查一次 XXX信號量是否存在?

2. 是在節拍中斷檢查嗎?  越多的信號量時節拍中斷會執行越久嗎?





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
 楼主| 发表于 2019-6-11 11:10:09 | 显示全部楼层
本帖最后由 civic7366 于 2019-6-11 17:03 编辑

回复

使用道具 举报

6

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026
金钱
1026
注册时间
2015-6-1
在线时间
126 小时
发表于 2019-6-18 14:31:35 | 显示全部楼层
portMAX_DELAY代表如果没有获取到这个信号量, 任务将一直在这里等待
回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
 楼主| 发表于 2019-6-20 11:50:34 | 显示全部楼层
Watmin 发表于 2019-6-18 14:31
portMAX_DELAY代表如果没有获取到这个信号量, 任务将一直在这里等待

我不是問這個R...
後來大略理解機制了...
隊列接收等待時會被加入到等待接收列表

1.該隊列被寫入時,直接移除等待列表中的最高優先級任務, 如果高於寫入任務時會直接切換
2.或者延遲時間到了

期間不需要額外花費CPU資源,

原本以為是在哪裡polling的 好奇polling的頻率
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 03:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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