欢迎光临
我们一直在努力

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)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。