中级会员
 
- 积分
- 419
- 金钱
- 419
- 注册时间
- 2012-10-17
- 在线时间
- 20 小时
|
1金钱
原子哥:我把第六章的跑马灯实验用ucosii改了一下
void led_task1(void *pdata)
{
pdata=pdata;
while(1)
{
LED0=1;
LED1=0;
delay_ms(300);
}
}
void led_task2(void *pdata)
{
pdata=pdata;
while(1)
{
LED0=0;
LED1=1;
delay_ms(300);
}
}
下载后的现象是:LED1始终亮,LED0极短暂的微亮
可是我预想的效果是:开始时led_task1任务,LED0灭,LED1亮,然后延时开始同时调度到led_task2任务。LED0亮,LED1灭,然后延时开始同时调度到led_task1任务。300ms后又开始led_task1任务,LED0=灭,LED1亮,然后延时开始同时调度到led_task2任务。LED0亮,LED1灭,然后延时开始同时调度到led_task1任务。这样反复的循环就造成LED0始终亮,而LED1极短暂的微亮。
请问原子哥为什么会出现这种现象?
|
最佳答案
查看完整内容[请看2#楼]
你兩個task
這個led = 0;和led=1;之間沒有加調度
中間加個delay_ms(300);看看
|