你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32F0移植的UCOSII信号量使用问题

[复制链接]
junjunshaoguo 提问时间:2013-12-23 16:34 /
 本人初用UCOSII,用的大神移植好的COSII,建立单个任务可以使用,现在在用到信号量,用于一个任务触发另外一个任务的时候,遇到问题,下面是源码,希望大神有时间给指导一下,我想做的就是第二个任务也就是LED2闪烁的任务,通过一个信号量来触发,现在是我没发那个信号量就执行了第二个任务,请指导下。

uCOS-II-V2.91.zip

下载

900.91 KB, 下载次数: 29, 下载积分: ST金币 -1

收藏 评论12 发布时间:2013-12-23 16:34

举报

12个回答
dzc2001 回答时间:2013-12-24 20:09:46

回复:关于STM32F0移植的UCOSII信号量使用问题

 我都是用全局变量来代替这个功能的,这样程序看上去更清晰点
Hiker天下 回答时间:2013-12-24 23:59:00

RE:关于STM32F0移植的UCOSII信号量使用问题

代码中没有看到,建立信号量~  就直接使用了。
junjunshaoguo 回答时间:2013-12-25 09:52:05

RE:关于STM32F0移植的UCOSII信号量使用问题

信号量的创建在主函数里有啊  ledd=OSSemCreate (0);
junjunshaoguo 回答时间:2013-12-25 09:53:40

回复:关于STM32F0移植的UCOSII信号量使用问题

回复第 2 楼 于2013-12-24 20:09:46发表:
 我都是用全局变量来代替这个功能的,这样程序看上去更清晰点
 
那另一个的触发任务用标志位传递吗?
 
看起来很黑 回答时间:2013-12-26 08:57:19

回复:关于STM32F0移植的UCOSII信号量使用问题

 可以用标志位传递
fengye5340 回答时间:2013-12-26 09:20:26

RE:关于STM32F0移植的UCOSII信号量使用问题

看了楼主的程序,有三点:
1、INT8U os_err; 这个变量有局部也有全局变量,最好统一,
比如都用局部变量,在任务1、2中,都定义这个局部变量。
2、 OSSemPend (ledd,5,&err);这个等待时间修改为0
也即 OSSemPend (ledd,0,&err);
3、同时,把  OSSemCreate (0);修改为OSSemCreate (1);
junjunshaoguo 回答时间:2013-12-26 12:22:54

回复:关于STM32F0移植的UCOSII信号量使用问题

回复第 7 楼 于2013-12-26 09:20:26发表:
看了楼主的程序,有三点:
1、INT8U os_err; 这个变量有局部也有全局变量,最好统一,
比如都用局部变量,在任务1、2中,都定义这个局部变量。
2、 OSSemPend (ledd,5,&err);这个等待时间修改为0
也即 OSSemPend (ledd,0,&err);
3、同时,把  OSSemCreate (0);修改为OSSemCreate (1);
你好,规范了下程序 把变量统一了下,第二点和第三点都修改了,但还是我没发那个信号量就进第二个任务里啊,还请明示,下面该怎么找原因啊。
 
wkuang 回答时间:2013-12-27 22:03:18

RE:关于STM32F0移植的UCOSII信号量使用问题

关于uCOS信号量,你创建了,但是不一定创建成功了。 你创建完后没有检查是否创建成功。 我看你的信号量没有创建成功。
检查下吧。 ledd=OSSemCreate (0);
看到这儿帖子,还有几点想说的:
遇上问题,不要把整个工程都摆上来, 把关键点贴上即可。还加压缩包,没有多少人有很好的耐心。
温柔的武士刀 回答时间:2013-12-29 20:19:24

回复:关于STM32F0移植的UCOSII信号量使用问题

给个代码看看: 25811255ucosii_hongwai.rar (1.93 MB, 下载次数: 15)
junjunshaoguo 回答时间:2014-1-10 14:53:49

RE:关于STM32F0移植的UCOSII信号量使用问题

找到原因了 ,谢谢大家啊
原因有:
1、初始化信号量的位置不对,应该在OSInit();之后
2、等待信号量的任务,应判断等待信号量是否真的 发生。
wuhuiskt 回答时间:2018-3-4 21:37:50

谢谢 楼主分享
sixpower 回答时间:2019-6-16 08:06:00
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版