STM32串口寄存器库函数配置方法

xiaoxiao2021-02-27  209

1、参考资料       《STM32F1开发指南-库函数版本》- 5.3 usart串口文件夹介绍                                     -第9章 串口实验       《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 2、串口通信基本原理         ·常用的串口相关寄存器            ·USART_SR状态寄存器            ·USART_DR数据寄存器            ·USART_BRR波特率寄存器                ·串口操作相关寄存器(省略入口参数):       void USART_Init(); //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能             void USART_Cmd();//使能串口             void USART_ITConfig();//使能相关中断             void USART_SendData();//发送数据到串口,DR             uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据             FlagStatus USART_GetFlagStatus();//获取状态标志位             void USART_ClearFlag();//清除状态标志位             ITStatus USART_GetITStatus();//获取中断状态标志位             void USART_ClearITPendingBit();//清除中断状态标志位    ·状态寄存器(USART_SR)                    FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);    ·数据寄存器(USART_DR)                    void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);             uint16_t USART_ReceiveData(USART_TypeDef* USARTx);    ·波特率寄存器(USART_BRR)                 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);    ·波特率计算方法               ·硬件连接      PA9、PA10(串口1)连接到了USB串口电路                3.串口配置的一般步骤     ①串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();         ②串口复位:USART_DeInit(); 这一步不是必须的         ③GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP         ④串口参数初始化:USART_Init();         ⑤开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)               NVIC_Init();               USART_ITConfig();         ⑥使能串口:USART_Cmd();         ⑦编写中断处理函数:USARTx_IRQHandler();         ⑧串口数据收发:         void USART_SendData();//发送数据到串口,DR         uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据         ⑨串口传输状态获取:         FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);         void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);
转载请注明原文地址: https://www.6miu.com/read-6044.html

最新回复(0)