请问 我一直的ucosiii在f7上,当运行有关延时函数的话,两个就死了,这是为什么

2019-07-20 16:08发布

void led0_task(void *p_arg)
{
        OS_ERR err;
        p_arg = p_arg;
        while(1)
        {
                LED0(0);    //LED0′ò¿a
                OSTimeDlyHMSM(0,0,0,100,OS_OPT_TIME_HMSM_STRICT,&err); //Ñóê±200ms
                LED0(1);    //LED01رÕ
                OSTimeDlyHMSM(0,0,0,200,OS_OPT_TIME_HMSM_STRICT,&err); //Ñóê±500ms
        }
}

//led1èÎÎñoˉêy
void led1_task(void *p_arg)
{
        OS_ERR err;
        p_arg = p_arg;
        while(1)
        {
                LED1_Toggle;
                //delay_ms(500);
                ;
                //OSTimeDlyHMSM(0,0,0,100,OS_OPT_TIME_HMSM_STRICT,&err); //Ñóê±500ms
       // delay_ms(500);//Ñóê±500ms
        }
}
代码如上
当一个任务有演示函数的使用,ucos能跑,当把下面的延时函数打开,ucos就死了,这是为什么啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
李志猛
1楼-- · 2019-07-20 20:02
       case OS_OPT_TIME_PERIODIC:
             if (dly == (OS_TICK)0u) {                      /* 0 means no delay!                                      */
                *p_err = OS_ERR_TIME_ZERO_DLY;
                 return;
             }
             break;              //   debug调试 死在了这里
taizonglai
2楼-- · 2019-07-20 21:14
检查自己的移植的工程处理有没有问题,参考我们开发板的F7 ucosiii例程和教程。
李志猛
3楼-- · 2019-07-21 00:34
 精彩回答 2  元偷偷看……

一周热门 更多>