程序跑起来不对劲,逻辑有问题。一是在死循环里面也就是任务里面写了return!在单片机里面是不能return的 必须死循环
2就是上面的逻辑有问题,死循环里面搞一个死循环不对!
效果就是里面的死循环结束以后,出来,外面是死循环,一会儿又进到这里面去了。
正确的做法是葫芦行的 一个循环后面再来一个。
void Task_T1(void *p_arg) { u8 res=0; (void) p_arg; res=Test_Log(T1_dev,KeyOpen);//测试门内按键开门//死在里面 直到结束 异常提前返回 T2Bt(Task_T1_ID,KeyOpen,res); res=Test_Log(T1_dev,CardOpen);//测试刷卡开门 //死在里面 直到结束 异常提前返回 T2Bt(Task_T1_ID,CardOpen,res); while(1) { printf("%s","Task_T1 finished\n"); OSTimeDlyHMSM(0, 0, 0, 500); } }