本人初用UCOSII,用的大神移植好的COSII,建立单个任务可以使用,现在在用到信号量,用于一个任务触发另外一个任务的时候,遇到问题,下面是源码,希望大神有时间给指导一下,我想做的就是第二个任务也就是LED2闪烁的任务,通过一个信号量来触发,现在是我没发那个信号量就执行了第二个任务,请指导下。 |
uCOS-II-V2.91.zip
下载900.91 KB, 下载次数: 29, 下载积分: ST金币 -1
【STM32F0开发日志/评测/笔记】+互补PWM波的产生
STM32F030 PB14和PB15无法输出PWM求助
【STM32F030探索套件】序列之五 外部中断
【STM32F0开发日志---二】+ucosii.2.92移植在STM32F030
上传个STM32F0+5110+内部温度传感器的菜鸟实例
【STM32F030探索套件使用问题】STM32F030 SPI方式驱动ST7565LCD失败
求一份STM32F051 I2C驱动LCD 12864的例程
STM32F0 M0 向结构体赋值进入HardFault异常
STM32F0 ADC-DMA方式采集2路数据时出现问题
STM32F030C8T6,TIM16定时慢很多问题?
回复:关于STM32F0移植的UCOSII信号量使用问题
RE:关于STM32F0移植的UCOSII信号量使用问题
RE:关于STM32F0移植的UCOSII信号量使用问题
回复:关于STM32F0移植的UCOSII信号量使用问题
我都是用全局变量来代替这个功能的,这样程序看上去更清晰点
那另一个的触发任务用标志位传递吗?
回复:关于STM32F0移植的UCOSII信号量使用问题
RE:关于STM32F0移植的UCOSII信号量使用问题
1、INT8U os_err; 这个变量有局部也有全局变量,最好统一,
比如都用局部变量,在任务1、2中,都定义这个局部变量。
2、 OSSemPend (ledd,5,&err);这个等待时间修改为0
也即 OSSemPend (ledd,0,&err);
3、同时,把 OSSemCreate (0);修改为OSSemCreate (1);
回复:关于STM32F0移植的UCOSII信号量使用问题
看了楼主的程序,有三点:
1、INT8U os_err; 这个变量有局部也有全局变量,最好统一,
比如都用局部变量,在任务1、2中,都定义这个局部变量。
2、 OSSemPend (ledd,5,&err);这个等待时间修改为0
也即 OSSemPend (ledd,0,&err);
3、同时,把 OSSemCreate (0);修改为OSSemCreate (1);
你好,规范了下程序 把变量统一了下,第二点和第三点都修改了,但还是我没发那个信号量就进第二个任务里啊,还请明示,下面该怎么找原因啊。
RE:关于STM32F0移植的UCOSII信号量使用问题
检查下吧。 ledd=OSSemCreate (0);
看到这儿帖子,还有几点想说的:
遇上问题,不要把整个工程都摆上来, 把关键点贴上即可。还加压缩包,没有多少人有很好的耐心。
回复:关于STM32F0移植的UCOSII信号量使用问题
RE:关于STM32F0移植的UCOSII信号量使用问题
原因有:
1、初始化信号量的位置不对,应该在OSInit();之后
2、等待信号量的任务,应判断等待信号量是否真的 发生。
谢谢 楼主分享