高级会员
- 积分
- 777
- 金钱
- 777
- 注册时间
- 2013-4-23
- 在线时间
- 159 小时
|
10金钱
问题是这样的,用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线不能进入中断问题
|
|