在调试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!");