×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-09-02 发布时间:
|

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);



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单