乐逍遥 发表于 2015-9-21 14:10:36

STM8L152xx 使用LSI作为时钟源的时候,USART不能使用

int main(void)
{
CLK_LSICmd (ENABLE);    //使能LSI
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);//LSI为系统时钟
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//不分频
CLK_SYSCLKSourceSwitchCmd (ENABLE);//使能切换

CLK_PeripheralClockConfig (CLK_Peripheral_USART1,ENABLE);//开启USART时钟
//设置USART参数9600,8N1 ,*使能接收和发送*
USART_Init(USART1,9600,USART_WordLength_8b,USART_StopBits_1,USART_Parity_No,USART_Mode_Tx|USART_Mode_Rx);
USART_ITConfig (USART1,USART_IT_RXNE,ENABLE);//使能接收中断
USART_Cmd (USART1,ENABLE);//使能USART
enableInterrupts(); //使能总中断
while(1)
    {

      USART_SendData8(USART1,0x03);//发送16进制
    }
}
就这几行代码,数据发送不出来改了波特率为1200还能发出来但是数据不对。   但是把时钟源切换为HSI就行

乐逍遥 发表于 2015-9-21 15:11:42

有人看没人回复吗?可以加我刚创建的群讨论 482808123

你好我好大家好! 发表于 2015-9-21 18:04:40

电脑波特率和单片机波特率设置一直了吗

乐逍遥 发表于 2015-9-22 11:05:15

你好我好大家好! 发表于 2015-9-21 18:04
电脑波特率和单片机波特率设置一直了吗

设置一致了。还是不行谁有例程啊
页: [1]
查看完整版本: STM8L152xx 使用LSI作为时钟源的时候,USART不能使用