OpenEdv-开源电子网

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

UCOSIII系统中关于OSxxPend()函数的疑问。

[复制链接]

10

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-1-6
在线时间
84 小时
发表于 2016-6-7 17:08:10 | 显示全部楼层 |阅读模式
    最近在学信号量和互斥信号量,它们的等待信号量函数OSSemPend()和OSMutexPend()里面的参数我有一些疑问。参数timeout:这个参数设置的是获取不到信号量的时候等待的时间。如果为0,表示一直等待下去,此时是处在挂起状态吗?
                    如果不为0,则最多等待timeout个时钟节拍,然后任务会放弃等待继续执行。
参数opt有两个选项:OS_OPT_PEND_BLOCKING:如果不能立即获得信号量,则表示要继续等待。
                            OS_OPT_PEND_NON_BLOCKING:如果不能立即获得信号量,则表示不等待信号量,直接返回。此时是继续执行还是处于就绪状态?
现在如果设置成0和OS_OPT_PEND_NON_BLOCKING,会是个什么状态,或者>0和OS_OPT_PEND_BLOCKING是什么状态?或者说这样设置时没有意义?
有哪位大神能够给出2个选项的4种排列组合时所有的状态?谢谢大家。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 19:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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