串行寄存器USART_ SR状态寄存器
USART_ DR数据寄存器
USART_ BRR肖像寄存器
与串行端口相关的库函数void USART_Init (; //串行初始化:波特率、数据字长、奇偶校验、硬件流程控制和收发使能
void USART_Cmd (; //启用串行端口
void USART_ITConfig (; //使能相关中断
void USART_SendData (; //向串行端口发送数据,灾难恢复
uint16_t USART_ReceiveData (; //接收数据,读取从DR接收到的数据
FlagStatus USART_GetFlagStatus (; //获取状态标志位
void USART_ClearFlag (; //清除状态标志位
ITStatus USART_GetITStatus (; //获取中断状态标志位
void USART_ClearITPendingBit (; //清除中断状态标志位
总之,串行初始化-串行许可-中断许可-数据寄存器收发-状态寄存器标志位的读取-清除-中断标志位的获取-清除
串行端口的配置步骤如下。 1、启用串行时钟: 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 (; //向串行端口发送数据,灾难恢复
uint16_t USART_ReceiveData (; //接收数据,读取从DR接收到的数据
获取串行传输状态:
FlagStatus USART_GetFlagStatus (;
void USART_ClearITPendingBit (;