打印

ucos 就两个任务运行不正常

[复制链接]
1551|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝