STM32
直播中

duke刘

9年用户 744经验值
擅长:可编程逻辑
私信 关注
[问答]

STM32串口寄存器库函数配置方法是什么?

STM32串口寄存器库函数配置方法是什么?

回帖(1)

王颖

2021-12-15 10:21:07
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);
举报

更多回帖

发帖
×
20
完善资料,
赚取积分