STM8L串口通信异常

2019-07-19 20:48发布

问题是这样的,用STM8L051F3的探索板与PC串口通信,探索板的TX和RX与USB转串口模块RX和TX都连接时,程序使用HSI内部16M时钟不分频(如下),波特率9600,通信正常;当我将探索板的TX线和USB串口模块断开,也就是STM8L只当接收端,这时PC发出的数据就不能进入接收中断;神奇的事情还在继续,当我将初始化16M时钟程序去掉,用默认的2M运行是,硬件还是探索板只接收,就可以正常进入中断。然后又切换到16M,用了115200,居然正常。谁能解释这个现象呀?

static void SystemClk_Init(void)
{
  //使用内部HSI 16M 不分频
  CLK_HSICmd(ENABLE);//开始内部高频RC
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);//HSI为系统时钟
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//不分频,16M
}



只要在初始化的时候调用这个函数,就会出现上面一根RX线不能进入中断问题

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。