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


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


你可能感兴趣的:(单片机)