STM32
登录
直播中
那年我十七_
12年用户
532经验值
私信
关注
[问答]
如何实现STM32F767通过串口和上位机的对话?
开启该帖子的消息推送
如何实现
STM32
F767通过串口和上位机的对话?
回帖
(1)
李新梅
2021-12-16 10:24:29
前言
废话
不知不觉又到了难得的周末,本想慵懒的享受一下这难得的清闲,可心中总有点牵挂。碌碌无为是一天,忙忙碌碌是一天,每个人的生活方式还在于自己内心的选择,而我选择了去做点自己感兴趣的小事,也算告慰自己的内心。
闲话就不多说了,接下来我们来一起看看如何通过STM32CubeMX来配置串口通信,串口通信在平常的项目中用到的挺多,但项目中并不是只用到USART来完成数据传输,通常会和RS485、232、Modbus等结合使用,这不仅可以保证数据的稳定及正确性,还可以有效的增加传输距离。这个我们会在后面慢慢讲怎样和485、232、Modbus结合使用,今天我们就先来看看USART串口通信的基本配置。
USART简介:
STM32F767 的串口资源相当丰富的, 最多可提供 8 路串口, 支持 8/16 倍过采样,支持自动波特率检测、支持 Modbus 通信、 支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA 等。
本节将实现STM32F767通过串口和上位机的对话, STM32F767在收到上位机发过来的字符串后,原原本本的返回给上位机。
第一步 创建工程
打开STM32CubeMX软件,创建新工程。
选择自己所用的芯片。
前面说过了,根据自己的硬件设备选择相应引脚配置为USART_RX及USART_TX。也可以直接找到USART直接配置就行,但是这个时候你可能会发现,这个软件自己设置的IO引脚和我们需要的引脚是有差别的,这个是正常的,我们可以找到我们需要的引脚,直接选择的我们前面配置的USARTx,这个时候之前软件自行选择的引脚就会自动复位。
这一步是配置LED的引脚,为的是用LED等来直接提示我们软件是否在正常的运行。
在配置完LED的引脚之后,我们点击①处进行USART 配置如下图。
完成GPIO的配置后我们来设置USART 的配置,如下图所示,一次安照图中配置即可
,这个我们需要注意的是④处有些USART 的波特率等基本的配置,需要我们根据自己的实际情况去配置。
前面的配置已经完成了USART 的发送功能,但是我们的USART 接收是需要中断功能的,因此我们接下来配置中断,如下图。
中断的分组及USART 功能的中断优先级这个需根据项目的需求实际配置。
配置完中断后,便是配置RCC功能,因为本博主用的是外部晶振提供时钟源
。如若用芯片内部的时钟源可省略。
然后配置芯片的时钟钟树如下图。
完成时钟树的配置,我们这个USART 配置基本上算是完成了,接下了来便是项目工程的配置。
选择我们项目工程需要配置的一些HAL库,及创建每个功能的.c/.h等,之后直接在右上角生成项目工程即完成了。
打开我们的项目工程查看usart.c文件的初始化配置。
在usart.c中添加中断回调函数,处理串口接收数据的存储。
添加串口的收发功能,将收到的数据原原本本的发回去,LED的闪烁提示软件正在运行。
第二步 下载验证
将我们的工程编译完成后下载来验证是否完成我们本节的需求,如下图所示。
总结
STM32CubeMX软件配置USART 串口通信按照上面我们就已经完成了,看到这不妨自己动手去试试,整体下来并不是很难,在我们用熟了之后,我们只需简单的看看需要注意的哪些点即可。
现在距离新一天的开始还有六分钟,就在此别过了,本节就到这里了。
前言
废话
不知不觉又到了难得的周末,本想慵懒的享受一下这难得的清闲,可心中总有点牵挂。碌碌无为是一天,忙忙碌碌是一天,每个人的生活方式还在于自己内心的选择,而我选择了去做点自己感兴趣的小事,也算告慰自己的内心。
闲话就不多说了,接下来我们来一起看看如何通过STM32CubeMX来配置串口通信,串口通信在平常的项目中用到的挺多,但项目中并不是只用到USART来完成数据传输,通常会和RS485、232、Modbus等结合使用,这不仅可以保证数据的稳定及正确性,还可以有效的增加传输距离。这个我们会在后面慢慢讲怎样和485、232、Modbus结合使用,今天我们就先来看看USART串口通信的基本配置。
USART简介:
STM32F767 的串口资源相当丰富的, 最多可提供 8 路串口, 支持 8/16 倍过采样,支持自动波特率检测、支持 Modbus 通信、 支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA 等。
本节将实现STM32F767通过串口和上位机的对话, STM32F767在收到上位机发过来的字符串后,原原本本的返回给上位机。
第一步 创建工程
打开STM32CubeMX软件,创建新工程。
选择自己所用的芯片。
前面说过了,根据自己的硬件设备选择相应引脚配置为USART_RX及USART_TX。也可以直接找到USART直接配置就行,但是这个时候你可能会发现,这个软件自己设置的IO引脚和我们需要的引脚是有差别的,这个是正常的,我们可以找到我们需要的引脚,直接选择的我们前面配置的USARTx,这个时候之前软件自行选择的引脚就会自动复位。
这一步是配置LED的引脚,为的是用LED等来直接提示我们软件是否在正常的运行。
在配置完LED的引脚之后,我们点击①处进行USART 配置如下图。
完成GPIO的配置后我们来设置USART 的配置,如下图所示,一次安照图中配置即可
,这个我们需要注意的是④处有些USART 的波特率等基本的配置,需要我们根据自己的实际情况去配置。
前面的配置已经完成了USART 的发送功能,但是我们的USART 接收是需要中断功能的,因此我们接下来配置中断,如下图。
中断的分组及USART 功能的中断优先级这个需根据项目的需求实际配置。
配置完中断后,便是配置RCC功能,因为本博主用的是外部晶振提供时钟源
。如若用芯片内部的时钟源可省略。
然后配置芯片的时钟钟树如下图。
完成时钟树的配置,我们这个USART 配置基本上算是完成了,接下了来便是项目工程的配置。
选择我们项目工程需要配置的一些HAL库,及创建每个功能的.c/.h等,之后直接在右上角生成项目工程即完成了。
打开我们的项目工程查看usart.c文件的初始化配置。
在usart.c中添加中断回调函数,处理串口接收数据的存储。
添加串口的收发功能,将收到的数据原原本本的发回去,LED的闪烁提示软件正在运行。
第二步 下载验证
将我们的工程编译完成后下载来验证是否完成我们本节的需求,如下图所示。
总结
STM32CubeMX软件配置USART 串口通信按照上面我们就已经完成了,看到这不妨自己动手去试试,整体下来并不是很难,在我们用熟了之后,我们只需简单的看看需要注意的哪些点即可。
现在距离新一天的开始还有六分钟,就在此别过了,本节就到这里了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
如何对
STM32F767
通过
STM32
cubeMX进行启动协议配置呢
2021-10-19
828
求大佬分享
STM32F767
串口
通信学习笔记
2021-12-03
751
STM32F767
的UART
串口
与USART
串口
配置一样吗
2021-12-06
507
如何去了解
STM32F767
的复位和窗口看门狗的喂狗情况呢
2021-08-23
945
在
STM32F767
开发板的调试过程碰到了哪些问题
2021-08-04
1213
STM32F767
LWIP DHCP经常获取不到地址是怎么回事?
2019-08-29
3277
请问有
STM32F767
NUCLEO网口例程吗?
2019-03-29
2581
stm32
通过
串口
向
上位
机
发送数据的程序该如何去
实现
呢
2021-12-10
1501
STM32F767
硬件IIC的问题
2020-08-26
1683
STM32F767
的时钟树是由哪些部分组成的
2021-11-12
1081
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分