打印

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

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

粉丝