关于单片机串口发送时初始发送的数据第一个总是00的问题解决

2019-04-15 13:39发布

在调试STM8的串口时候,串口IO初始化,串口配置,发送数据调试~~ 连接好串口线后,发现初始化后发送的第一个数据总是00,后面的数据才是正常的数据。 折腾了大半天,终于发现了原因了,那就是初始化串口后不能马上发送数据,要经过一定时间延迟。 问题代码如下: CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//运行在16Mhz Init_GPIO(); InitTimer4(); InitTimer2(); InitUart(); _asm("rim"); //开启总中断 SendString("HelloStm8!"); SendString("HelloStm9!"); 修改后问题解决的代码: CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//运行在16Mhz InitUart(); Init_GPIO(); InitTimer4(); InitTimer2(); _asm("rim"); //开启总中断 SendString("HelloStm8!"); SendString("HelloStm9!");