ucos 就两个任务运行不正常

[复制链接]
 楼主| boby136 发表于 2012-9-17 10:47 | 显示全部楼层 |阅读模式
初学UCOS  加入了信号量   不正常现象:能通过按键发送信号量进入任务2,但只能执行一次,程序停止        按下t=3那个键后 程序也会停止了    求帮忙 谢谢

//任务1
//灯信号量控制DS0的亮灭.
void TaskLed(void *pdata)
{

INT8U err;
while(1)
{
  OSSemPend(Sem, 0, &err);
  LED0=!LED0;
  OSTimeDlyHMSM(0,0,0,500);
}
}
//任务2
//按键.
void TaskLed1(void *pdata)
{
u8 t=0;

while(1)
{
  LED1=!LED1;
  t=KEY_Scan();//得到键值
   
           
   switch(t)
   {     
    case 1:                 
     OSSemPost(Sem);  
     break;
    case 2:
//     
     break;
    case 3:   
     
     LED1=!LED1;
     break;
   }
  
  OSTimeDlyHMSM(0,0,0,400);
}
}
airwill 发表于 2012-9-19 19:35 | 显示全部楼层
为什么没有调用 OSSemPost()?
1189594 发表于 2012-9-24 15:46 | 显示全部楼层
把  OSTimeDlyHMSM(0,0,0,400); 放在while循环的开头试试
yyql008 发表于 2012-9-27 16:27 | 显示全部楼层
信号量Sem初始化了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

70

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部