新手上路
- 积分
- 49
- 金钱
- 49
- 注册时间
- 2018-12-24
- 在线时间
- 33 小时
|
10金钱
移植工程直接用原子的移植完以后的例程,我先实现了3个任务,运行起来都没有问题,然后我把第四个任务加上,这时不仅其他任务都不运行了,而且程序还卡死在了[mw_shl_code=c,true]void u3_printf(char* fmt,...)
{
u16 i,j;
va_list ap;
va_start(ap,fmt);
printf("3. ucosiii \r\n");
vsprintf((char*)USART3_TX_BUF,fmt,ap);
printf("4. ucosiii \r\n");
va_end(ap);
printf("5. ucosiii \r\n");
i=strlen((const char*)USART3_TX_BUF);
printf("6. ucosiii \r\n");
for(j=0;j<i;j++)
{
printf("7. ucosiii \r\n");
while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //程序就卡在了这个地方,只打印了7. ucosiii,不打印8. ucosiii
printf("8. ucosiii \r\n");
USART_SendData(USART3,USART3_TX_BUF[j]);
}
}[/mw_shl_code]
问题是这四个任务在没有加入系统之前都是完美运行的,没有卡死。
跑了系统以后再上第四个任务就会整个程序卡死,按道理来讲,我跑了系统不是各个任务之间互不干扰,就算第四个任务卡死,但是其他三个为什么跑都不跑呢?
|
|