硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4916|回复: 6
收起左侧

[μCOS-II] 硬汉哥,我有一个关于信号量的问题求教

[复制链接]

14

主题

34

回帖

14

积分

新手上路

积分
14
发表于 2014-7-27 22:55:21 | 显示全部楼层 |阅读模式
如下:我们创建信号量Sem_Play=OSSemCreate(0);
          在一个任务里调用释放OSSemPost(Sem_Play);
           在另外一个任务里调用OSSemPend(Sem_Play,0,&err);等待函数
          我仔细地看了下释放函数里:如果有任务等待,那么实现任务调度---》导致了信号量没有加1,还是0,。
          这个就导致了直接跳到等待任务里了,可是在等待任务里由于信号量还是0——》导致这个任务进入等待状态,
         这样就形成了死循环,不能进行下面的程序了,这个也是目前遇到的问题,
         希望YH可以指导一下,谢谢
           等——回复
回复

使用道具 举报

14

主题

34

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2014-7-27 22:56:44 | 显示全部楼层
这个程序是我在调MP3问题是遇到的,参照了例程,可是有点问题,请教
回复

使用道具 举报

0

主题

24

回帖

24

积分

新手上路

积分
24
发表于 2014-7-27 22:56:45 | 显示全部楼层
关于信号量的这个问题其实不难
健康网www.18kang.com
回复

使用道具 举报

14

主题

34

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2014-7-28 09:19:44 | 显示全部楼层

回 showpp 的帖子

showpp:关于信号量的这一个问题其实不难 (2014-07-27 22:56)
我知道不难啊,可就是有问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106960
QQ
发表于 2014-7-28 09:27:18 | 显示全部楼层
你要搞清楚创建的参数是0的时候所表示的含义,Sem_Play=OSSemCreate(0);
看下我的这个博文吧,就不转载到论坛了。
http://blog.sina.com.cn/s/blog_98ee3a930100w99m.html
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106960
QQ
发表于 2014-7-28 09:27:45 | 显示全部楼层
这个博文开头部分讲的比较清楚。
回复

使用道具 举报

14

主题

34

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2014-7-28 21:19:21 | 显示全部楼层

回 eric2013 的帖子

eric2013:你要搞清楚创建的参数是0的时候所表示的含义,Sem_Play=OSSemCreate(0);
看下我的这个博文吧,就不转载到论坛了。
http://blog.sina.com.cn/s/blog_98ee3a930100w99m.html (2014-07-28 09:27)
这个我看了,也了解了一点,为0是用来同步,只有当Pend()接受到信号量时才执行本任务,
我现在调试的情况:我给了释放信号量,可是他不进入等待信号量的任务,就是没响应的那种,
我的释放优先级比等待优先级高,不知什么问题?请教大大
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 08:28 , Processed in 0.253723 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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