OpenEdv-开源电子网

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

UCOSIII 请求信号量选项问题

[复制链接]

17

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
金钱
262
注册时间
2019-4-28
在线时间
65 小时
发表于 2022-3-25 17:33:28 | 显示全部楼层 |阅读模式
10金钱
timeout
指定等待信号量的超时时间(时钟节拍数),如果在指定时间内没有等到信号量则
允许任务恢复执行。如果指定时间为 0 的话任务就会一直等待下去,直到等到信号量。
opt
用于设置是否使用阻塞模式,有下面两个选项。
OS_OPT_PEND_BLOCKING
指定信号量无效时,任务挂起以等待信号量。
OS_OPT_PEND_NON_BLOCKING 信号量无效时,任务直接返回


如果我设置timeout=10,超过了等待时间后,当前任务怎么执行的,看描述是任务继续往下执行,但是opt选项的意义呢?是不是若超过了等待时间,选择OS_OPT_PEND_BLOCKING就会一直等待信号量,有信号量了才执行下面的代码,任务调度依旧,而选择OS_OPT_PEND_NON_BLOCKING 则是直接任务调度,不执行下面的代码。还有在设置指定时间0的情况呢?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-3-26 00:31:11 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 18:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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