OpenEdv-开源电子网

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

互斥信号量与信号量使用疑惑。

[复制链接]

31

主题

265

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-1-9
在线时间
65 小时
发表于 2018-4-1 11:58:08 | 显示全部楼层 |阅读模式
5金钱
在ucosiii中,信号量的使用如果初始化的时候如果设置第三个参数cnt为0,感觉是要先POST才可以PEND到,
但是如果设置第三个参数为大于等于1的数,就可以先PEND了。不知道理解的有没有问题。
但是互斥信号量根本没有cnt这个参数,但是他可以直接PEND,并且可以嵌套250层PEND,只要POST相同的次数就可以释放。
不知道理解的对不对,如果这样的话,那互斥信号量在初始第一次使用的时候,就可以直接PEND到,并且可以多次PEND(嵌套内),但是如果不是嵌套的就不能PEND到,不知道理解的对不对。
路过的大侠指导一下,谢谢!

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-4-2 01:30:33 | 显示全部楼层
回复

使用道具 举报

31

主题

265

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-1-9
在线时间
65 小时
 楼主| 发表于 2018-4-2 09:23:27 | 显示全部楼层
根据以上描述的性质,互斥信号量是不能用作任务同步的。信号量才可以用作任务同步。ucosIII的大侠快来啊!
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
发表于 2020-3-17 09:26:25 | 显示全部楼层
表达没问题,互斥信号量可以这样用
回复

使用道具 举报

0

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2020-12-31
在线时间
27 小时
发表于 2021-6-28 14:37:19 | 显示全部楼层
liangming 发表于 2020-3-17 09:26
表达没问题,互斥信号量可以这样用

你说的可以这样用是互斥信号量吗,我用信号量试了一遍没问题,用互斥信号量试了一遍有问题,错误码有22401,22402,25002
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2021-6-28
在线时间
0 小时
发表于 2021-6-28 16:39:30 | 显示全部楼层
本质互斥信号量就是一个二值信号量,所以没有cnt参数,因为被固定为1了,而计数型信号量则是需要初始化赋值的,如果初始化为1,也可以当互斥信号量使用,但如果cnt初始化为0的话则需要先post一下,让cnt+1,这样才能使任务可以请求到
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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