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就行
有人看没人回复吗?可以加我刚创建的群讨论 482808123 电脑波特率和单片机波特率设置一直了吗 你好我好大家好! 发表于 2015-9-21 18:04
电脑波特率和单片机波特率设置一直了吗
设置一致了。还是不行谁有例程啊
页:
[1]