ucos只能进行一次任务切换后似乎就不进任务2了

[复制链接]
 楼主| xingdajing 发表于 2008-5-4 13:39 | 显示全部楼层 |阅读模式
void Task1(void *data){
           data = data;
        CH452_Init();
        OSTimeDly (5);
        for(;;)
        {
            
            OUT_SET;   //对一个管脚置高
            
            CH452_Write(CH452_DIG4 | Disbuffer[0]);
                 CH452_Write(CH452_DIG5 | Disbuffer[1]);
            CH452_Write(CH452_DIG6 | Disbuffer[2]);


            OSTimeDly (500);
        }

}
void Task2(void *data){
    data = data;
    OSTimeDly(5);
    for(;;)
    {
       OUT_CLR;     //对一个管脚置低
       value++;      
       Disbuffer[0] = value%10;
       value /= 10;
       Disbuffer[1] = value%10;
       value /= 10;
       Disbuffer[2] = value%10;
       OSTimeDly (1000);
    }

}

现象是开始启动时,显示从0到1变化后就没任何变化了。
是AVR平台
不知道是什么原因,用模拟仿真看的,定时中断并没有关,并且还有进入到任务2
 楼主| xingdajing 发表于 2008-5-4 15:44 | 显示全部楼层

低级错误

  问题找到了
  void Task2(void *data){
    data = data;
    OSTimeDly(5);
    for(;;)
    {
       OUT_CLR;     //对一个管脚置低
       value++;      
       Disbuffer[0] = value%10;
       value /= 10;
       Disbuffer[1] = value%10;
       value /= 10;
       Disbuffer[2] = value%10;
       OSTimeDly (1000);
    }

}
出的低级错误,把精力集中在内核,堆栈,没注意简单的任务。。。
每次都把value清成0了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

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

1

主题

2

帖子

0

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