新手入门
- 积分
- 17
- 金钱
- 17
- 注册时间
- 2020-12-16
- 在线时间
- 7 小时
|
5金钱
写了一个串口输出任务调用OSTimeDlyHMSM(0,0,0,1)会出现异常
void start_task(void *pdata)
{
//u8 str1[50]="AAAAAAA\r\n";
// u8 str2[50]="BBBBBBB\r\n";
OS_CPU_SR cpu_sr=0;
pdata=pdata;
// printf("AAAAAAA\r\n");
// OSTaskCreate(led1_task,(void *)0,(OS_STK *)&LED1_TASK_STK[LED1_STK_SIZE-1]
// ,LED1_TASK_PRIO);//6
// OSTaskSuspend(START_TASK_PRIO); //1òÆeÆeê¼èÎÎñ
while(1)
{u8 str1[50]="AAAAAAA\r\n";
// OSQPost(led1_MsgQueue,(void *)&str1[0]);
printf("BBBBBBBB\r\n");
OSTimeDlyHMSM(0,0,0,1);
}
}
这是OSTimeDlyHMSM(0,0,0,1);的结果大致符合要求,差不多是1ms一条


这是 OSTimeDlyHMSM(0,0,0,100);的结果只打印了一行就停下来了
有大哥知道问题出在拿了吗,纠结了好久了
这是主函数
int main(void)
{ SystemInit();
delay_init();
uart_init(9600);
OSInit();
led1_MsgQueue=OSQCreate(&MsgQueuetb[0],20); //
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1]
,START_TASK_PRIO); //′′½¨Æeê¼èÎÎñ
OSStart(); //
}
|
|