STM32F4串口打印 while函數出錯

總結:寫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);

}


運行結果:有誤

待修改圖片.jpg



修改後:

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);

    }

}


運行結果:正常

成功打印.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章