课程

课程 讲师

串口

购买数
17
课时数
1
浏览数
3660
主讲人:
邵老师
有效期:
自购买之日起永久
免费
原价:¥10
分享

分享到:

手机查看

一、串行通信接口介绍

        并行通信与串行通信是计算机常用的两种通信方式。

        串行通信按照数据传送方向分为:单工、半双工和全双工。

        串行通信有同步和异步两种方式。

        异步通信时数据一帧一帧地传送,帧的格式和通信速率一起称为通信协议。

        一个数据帧的长度称为字长,字长 = 起始位 + 数据位 + 校验位 + 停止位。

        USART框图讲解。

        image.png


二、STM32串口常用的寄存器和库函数

        

        USART_SR状态寄存器

        USART_DR数据寄存器

        USART_BRR波特率寄存器

        USART_CR1 控制寄存器1


        常用的库函数:


        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();//清除中断状态标志位


三、代码解读


        1、串口时钟使能,GPIO时钟使能:RCC_APB2PeriphClockCmd();

        2、串口复位:USART_DeInit(); 这一步不是必须的

        3、GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF_PP

        4、串口参数初始化:USART_Init();

        5、开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)

              NVIC_Init();

              USART_ITConfig();

        6、使能串口:USART_Cmd();

        7、编写中断处理函数: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);


四、实践操作


        一、操作步骤:

                1.将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机。

                2.将 串口线 连接到底板串口上,底板拨码 S1 拨向 ON 端。

                3.编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。

                4.打开 PC机 串口调试助手,设置 串口号、波特率115200、无校验位、数据位8、停止位1。

        

        二、实验现象:

                1.MCU 每个 0.5s 发送一次“Hello World!”。

                2.PC机 发送的信息会从 MCU 发回来。

讲师信息

邵老师

邵老师

粉丝:4
多年嵌入式开发经验,精通STM32/51单片机,扎实的C语言基本功

他们也关注了

×

分享成功,快去个人中心查看吧~~~

祝您:学习愉快 !

确 定
×

加入我的看单

该课程需要加入我的看单后方可学习,确定加入?

确 定 取 消
关注官方微信