STM32F4串口打印 while函數出錯
阿新 • • 發佈:2018-01-18
結果 分割 mark 總結 rto pro com 技術分享 apple 總結:寫while函數等類型的循環要添加“{ }”,不然不知道會出什麽錯誤。
原函數:
void division_func(void)
{
char *p=NULL;
int i =0;
//如USART1接收到的字符串:2013-12-14
//以‘-’分割字符串,現在分割出的第一個字符串為:2013
p = strtok((char *)g_usart1_recv_buf,"-");
printf("分割:%d %s\r\n", i++, p);
//繼續分割
while((p=strtok(NULL,"-")))
printf("分割:%d %s\r\n", i++, p);
}
運行結果:有誤
修改後:
void division_func(void)
{
char *p=NULL;
int i =0;
//如USART1接收到的字符串:2013-12-14
//以‘-’分割字符串,現在分割出的第一個字符串為:2013
p = strtok((char *)g_usart1_recv_buf,"-");
printf("分割:%d %s\r\n", i++, p);
//繼續分割
while((p=strtok(NULL,"-")))
{
printf("分割:%d %s\r\n", i++, p);
}
}
運行結果:正常
STM32F4串口打印 while函數出錯