void Task0 (void *pdata) { uint8 err; uint16 i; pdata = pdata; Uart0ReviceMbox = OSMboxCreate(NULL); Uart3ReviceMbox = OSMboxCreate(NULL); OSMutexCreate(3,&err); Test2toTest = OSSemCreate(0); OSTaskCreate(TaskGetTime,(void *)0,&TaskGetTimeStk[TaskGetTimeStkLenth-1],13); OSTaskCreate(TaskDealTime,(void *)0,&TaskDealTimeStk[TaskDealTimeStkLenth-1],12); OSTaskCreate(TaskClrDog,(void *)0,&TaskClrDogStk[TaskClrDogStkLenth-1],1); OSTaskCreate(TaskTest,(void *)0,&TaskTestStk[TaskTestLength-1],11); OSTaskCreate(TaskTest2,(void *)0,&TaskTest2Stk[TaskTest2Length-1],10); TargetInit (); Gpio_Init(); UART0Init(115200); // 取默认串口0的通信波特率为115200 UART3Init(115200); // 取与模块默认通信波特率为115200 UART1_AllIni(9600); // 取默认串口1通信波特率为300 UART2_AllIni(115200); // 取默认串口2通信波特率为115200 RS485_CSHIGH1; RS485_CSLOW; // 低电平485允许接收 UART0_SendStr(what);//发送what字符串 OSTaskDel(OS_PRIO_SELF); }
这时串口仍然周期发送what这个字符串,这是为什么???然后由这个任务创建的其他的任务无论我调用ostimedly函数想延时多长时间都不行,都差不多是一秒的周期在运行,是不是因为这个任务在周期运行,然后周期创建其他任务,导致其他任务也周期运行,只是延时无效???
|