千家信息网

STM32F4串口打印 while函数出错

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,总结:写while函数等类型的循环要添加"{ }",不然不知道会出什么错误。原函数:void division_func(void){char *p=NULL;int i =0;//如USART1接收
千家信息网最后更新 2025年12月02日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);

}

}


运行结果:正常


0