详见 https://www.cnblogs.com/YuQiao0303/p/10011599.html
配置好时钟、gpio的复用映射、gpio
USART_SR状态寄存器
USART_DR数据寄存器
USART_BRR波特率寄存器
①串口时钟使能:RCC_APBxPeriphClockCmd();
GPIO时钟使能:RCC_AHB1PeriphClockCmd();
② 引脚复用映射:GPIO_PinAFConfig();
③GPIO端口模式设置:GPIO_Init();
模式设置为GPIO_Mode_AF
④串口参数初始化:USART_Init();
⑤开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)
NVIC_Init();
USART_ITConfig();
⑥使能串口:USART_Cmd();
⑦编写中断处理函数:USARTx_IRQHandler();
⑧串口数据收发:
void USART_SendData();//发送数据到串口,DR
uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据
⑨串口传输状态获取:
FlagStatus USART_GetFlagStatus();
void USART_ClearITPendingBit();
原文:https://www.cnblogs.com/YuQiao0303/p/10019362.html