STM32F4串口打印 while函数出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

}


运行结果:有误

技术分享图片



修改后:

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函数出错的主要内容,如果未能解决你的问题,请参考以下文章

STM32标准库_03 | 串口printf打印

STM32F4 串口实验中收不到超级终端发送的数据,调试工具却能够

stm32F030F4P6的芯片 串口通信不成功代码在图里

STM32F4 HAL库开发 -- 串口

STM32F4 HAL库开发 -- 串口

STM32F4 HAL库开发 -- 串口