1. 程式人生 > >STM32F4串口打印 while函數出錯

STM32F4串口打印 while函數出錯

結果 分割 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函數出錯