STM32CubeMX学习笔记六 《USART 串口通信》

前言

废话 不知不觉又到了难得的周末,本想慵懒的享受一下这难得的清闲,可心中总有点牵挂。碌碌无为是一天,忙忙碌碌是一天,每个人的生活方式还在于自己内心的选择,而我选择了去做点自己感兴趣的小事,也算告慰自己的内心。

闲话就不多说了,接下来我们来一起看看如何通过STM32CubeMX来配置串口通信,串口通信在平常的项目中用到的挺多,但项目中并不是只用到USART来完成数据传输,通常会和RS485、232、Modbus等结合使用,这不仅可以保证数据的稳定及正确性,还可以有效的增加传输距离。这个我们会在后面慢慢讲怎样和485、232、Modbus结合使用,今天我们就先来看看USART串口通信的基本配置。

USART简介:
STM32F767 的串口资源相当丰富的, 最多可提供 8 路串口, 支持 8/16 倍过采样,支持自动波特率检测、支持 Modbus 通信、 支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA 等。

本节将实现STM32F767通过串口和上位机的对话, STM32F767在收到上位机发过来的字符串后,原原本本的返回给上位机。

第一步 创建工程

  1. 打开STM32CubeMX软件,创建新工程。
    在这里插入图片描述
  2. 选择自己所用的芯片。
    在这里插入图片描述
  3. 前面说过了,根据自己的硬件设备选择相应引脚配置为USART_RX及USART_TX。也可以直接找到USART直接配置就行,但是这个时候你可能会发现,这个软件自己设置的I\O引脚和我们需要的引脚是有差别的,这个是正常的,我们可以找到我们需要的引脚,直接选择的我们前面配置的USARTx,这个时候之前软件自行选择的引脚就会自动复位。
    在这里插入图片描述
  4. 这一步是配置LED的引脚,为的是用LED等来直接提示我们软件是否在正常的运行。
    在这里插入图片描述
  5. 在配置完LED的引脚之后,我们点击处进行USART 配置如下图。

在这里插入图片描述

  1. 完成GPIO的配置后我们来设置USART 的配置,如下图所示,一次安照图中配置即可,这个我们需要注意的是处有些USART 的波特率等基本的配置,需要我们根据自己的实际情况去配置。
    在这里插入图片描述
  2. 前面的配置已经完成了USART 的发送功能,但是我们的USART 接收是需要中断功能的,因此我们接下来配置中断,如下图。 中断的分组及USART 功能的中断优先级这个需根据项目的需求实际配置。
    在这里插入图片描述
  3. 配置完中断后,便是配置RCC功能,因为本博主用的是外部晶振提供时钟源。如若用芯片内部的时钟源可省略。
    在这里插入图片描述
  4. 然后配置芯片的时钟钟树如下图。
    在这里插入图片描述
  5. 完成时钟树的配置,我们这个USART 配置基本上算是完成了,接下了来便是项目工程的配置。在这里插入图片描述
  6. 选择我们项目工程需要配置的一些HAL库,及创建每个功能的.c/.h等,之后直接在右上角生成项目工程即完成了。
    在这里插入图片描述
  7. 打开我们的项目工程查看usart.c文件的初始化配置。
    在这里插入图片描述
  8. 在usart.c中添加中断回调函数,处理串口接收数据的存储。
    在这里插入图片描述
  9. 添加串口的收发功能,将收到的数据原原本本的发回去,LED的闪烁提示软件正在运行。
    在这里插入图片描述

第二步 下载验证

将我们的工程编译完成后下载来验证是否完成我们本节的需求,如下图所示。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
USART 串口通信:
百度链接: https://pan.baidu.com/s/1CNbqk0n57fdxaZiVZamB-g
提取码:5hyd
在这里插入图片描述

总结

STM32CubeMX软件配置USART 串口通信按照上面我们就已经完成了,看到这不妨自己动手去试试,整体下来并不是很难,在我们用熟了之后,我们只需简单的看看需要注意的哪些点即可。 现在距离新一天的开始还有六分钟,就在此别过了,本节就到这里了。
在这里插入图片描述
作者:Cary.chen

猜你喜欢

转载自blog.csdn.net/weixin_43123205/article/details/106878923