STM32
登录
直播中
张龙祥
8年用户
1215经验值
擅长:连接器
私信
关注
[问答]
怎样通过串口通信去配置STM32CubeMX USART
开启该帖子的消息推送
串口通信
stm32cubemx
USART
怎样通过串口
通信
去配置
STM32
CubeMX USART?
回帖
(1)
林俭幼
2021-9-28 17:38:24
1 前言
1.1 STM32CubeMX
点击图片进入 ST 官网 STM32CubeMX 介绍页面 1.2 教程介绍
STM32CubeMX 实战教程 基于正点原子 STM32F1 精英板(STM32F103ZET6)平台,旨在通过对板载资源的使用将各种外设的配置方法讲述清楚。更多教程请订阅 [专栏]STM32CubeMX 。
本教程是 STM32CubeMX 实战教程中的第三篇,主要通过串口通信实验,将 STM32CubeMX USART 的配置方法讲述清楚。
1.3 准备工作
系统版本:Windows 10 专业版 64 位
软件版本:STM32CubeMX V6.0.0
硬件平台:正点原子 STM32F1 精英板
编译环境:MDK_ARM V5.29
调试工具:ST-LINK/V2
串口助手:ATK-XCOM V2.6
1.4 硬件资源
本节教程使用的硬件资源分配:
2 配置项目
2.1 项目导入
将上一节的 SysTick_Test 的项目另存作为 USART_Test 的项目初始模板。
工程模板修改及项目导。这里就不重复了,项目目录如下:
2.2 USART & NVIC 配置
将 PA9 和 PA10 配置成 USART1_TX 和 USART1_RX;(由于没有配置 USART1,引脚会显示黄色警告)
点击 USART1,设置模式为 Asynchronous,无硬件流控制,参数为:115200,8 Bits,None,1;(配置完 USART1 后,相关引脚会显示绿色,提示引脚配置正常)
点击 NVIC,使能 USART1 中断,优先级设置为 2,0;
勾选 Generate IRQ handler 生成中断服务函数,不勾选 Call HAL handler;(由于默认不开启中断源,勾选了也没有作用)
2.3 Clock 配置
Clock 不需要配置,可直接继续使用。可参考:STM32CubeMX 实战教程:新建项目和生成 MDK_ARM 工程、STM32CubeMX 实战教程:SysTick 实验。
2.4 生成代码
点击 GENERATE CODE 生成代码。
3 代码测试
打开 MDK_ARM 工程;
main.c 文件 main 函数中,有 MX_USART1_UART_Init() 的回调函数,查看其函数源码;
值得注意的是:生成代码中开启中断,但默认不使能中断源。所以我们需要在初始化代码后配置使能一下 USART1 的中断源。
配置 USART1 Interrupt Source,在 MX_USART1_UART_Init() 函数后的用户代码区域加入配置代码;(使能 RXNE 和 IDLE 中断)
在 usart.c 文件用户代码区域加入中断回调函数及中断处理代码;(请自行在 usart.h 文件中声明相关变量和函数)
USART1_IRQ 回调函数代码如下:
在 stm32f1xx_it.c 文件 USART1_IRQHandler() 函数的用户代码区域调用中断处理函数 USART1_IRQ();
在 while 循环中加入测试代码;
编译工程;
使用 ST-LINK/V2 下载程序,按下复位按键,若按照下面操作看到正常现象,则说明程序正常运行,USART1 配置成功。
[tr]Steps操作正常现象备注[/tr]1使用 X-COM 串口助手默认配置发送任意字符串(中英文皆可)串口助手会接收到相同的字符串-
可参看下图:
4 结束
本教程由 Brendon Tan 原创发布,版权所有。该文档仅供个人学习交流使用,不得用于其他用途, 禁止商用, 转载或公开使用请联系作者授权。
此教程由本人独立整理,如有不当之处,欢迎指正。
该模式下,仅需 TXD 和 RXD 两个引脚即可通信,即我们常用的串口。
Synchronous - 同步模式
Single Wire (Half-Duplex) - 半双工单线模式
Multiprocessor Communication - 多处理器通讯模式
IrDA - 红外解码通信
LIN - 总线通信
SmartCard - 智能卡模式
SmartCard with Card Clock - 带时钟智能卡模式
1 前言
1.1 STM32CubeMX
点击图片进入 ST 官网 STM32CubeMX 介绍页面 1.2 教程介绍
STM32CubeMX 实战教程 基于正点原子 STM32F1 精英板(STM32F103ZET6)平台,旨在通过对板载资源的使用将各种外设的配置方法讲述清楚。更多教程请订阅 [专栏]STM32CubeMX 。
本教程是 STM32CubeMX 实战教程中的第三篇,主要通过串口通信实验,将 STM32CubeMX USART 的配置方法讲述清楚。
1.3 准备工作
系统版本:Windows 10 专业版 64 位
软件版本:STM32CubeMX V6.0.0
硬件平台:正点原子 STM32F1 精英板
编译环境:MDK_ARM V5.29
调试工具:ST-LINK/V2
串口助手:ATK-XCOM V2.6
1.4 硬件资源
本节教程使用的硬件资源分配:
2 配置项目
2.1 项目导入
将上一节的 SysTick_Test 的项目另存作为 USART_Test 的项目初始模板。
工程模板修改及项目导。这里就不重复了,项目目录如下:
2.2 USART & NVIC 配置
将 PA9 和 PA10 配置成 USART1_TX 和 USART1_RX;(由于没有配置 USART1,引脚会显示黄色警告)
点击 USART1,设置模式为 Asynchronous,无硬件流控制,参数为:115200,8 Bits,None,1;(配置完 USART1 后,相关引脚会显示绿色,提示引脚配置正常)
点击 NVIC,使能 USART1 中断,优先级设置为 2,0;
勾选 Generate IRQ handler 生成中断服务函数,不勾选 Call HAL handler;(由于默认不开启中断源,勾选了也没有作用)
2.3 Clock 配置
Clock 不需要配置,可直接继续使用。可参考:STM32CubeMX 实战教程:新建项目和生成 MDK_ARM 工程、STM32CubeMX 实战教程:SysTick 实验。
2.4 生成代码
点击 GENERATE CODE 生成代码。
3 代码测试
打开 MDK_ARM 工程;
main.c 文件 main 函数中,有 MX_USART1_UART_Init() 的回调函数,查看其函数源码;
值得注意的是:生成代码中开启中断,但默认不使能中断源。所以我们需要在初始化代码后配置使能一下 USART1 的中断源。
配置 USART1 Interrupt Source,在 MX_USART1_UART_Init() 函数后的用户代码区域加入配置代码;(使能 RXNE 和 IDLE 中断)
在 usart.c 文件用户代码区域加入中断回调函数及中断处理代码;(请自行在 usart.h 文件中声明相关变量和函数)
USART1_IRQ 回调函数代码如下:
在 stm32f1xx_it.c 文件 USART1_IRQHandler() 函数的用户代码区域调用中断处理函数 USART1_IRQ();
在 while 循环中加入测试代码;
编译工程;
使用 ST-LINK/V2 下载程序,按下复位按键,若按照下面操作看到正常现象,则说明程序正常运行,USART1 配置成功。
[tr]Steps操作正常现象备注[/tr]1使用 X-COM 串口助手默认配置发送任意字符串(中英文皆可)串口助手会接收到相同的字符串-
可参看下图:
4 结束
本教程由 Brendon Tan 原创发布,版权所有。该文档仅供个人学习交流使用,不得用于其他用途, 禁止商用, 转载或公开使用请联系作者授权。
此教程由本人独立整理,如有不当之处,欢迎指正。
该模式下,仅需 TXD 和 RXD 两个引脚即可通信,即我们常用的串口。
Synchronous - 同步模式
Single Wire (Half-Duplex) - 半双工单线模式
Multiprocessor Communication - 多处理器通讯模式
IrDA - 红外解码通信
LIN - 总线通信
SmartCard - 智能卡模式
SmartCard with Card Clock - 带时钟智能卡模式
举报
更多回帖
rotate(-90deg);
回复
相关问答
串口通信
stm32cubemx
USART
怎样
使用
STM32CubeMX
去
配置
USART
串口
通信
呢
2021-12-10
844
怎样
使用
STM32CubeMX
来
配置
USART
串口
通信
协议呢
2021-12-06
1124
怎样
使用
STM32CubeMX
去
配置
STM32
串口
呢
2021-12-06
1043
如何利用
STM32CubeMX
去
新建一种UART
串口
通信
呢
2021-12-10
1185
如何利用
stm32cubeMX
配置
实现简单的
串口
通信
?
2021-12-08
696
如何用
STM32CUBEMX
去
配置
USART
串口
进行数据的收发呢
2021-12-14
1426
如何在
STM32CubeMX
中进行
串口
通信
的
配置
?
2021-12-13
724
如何在
STM32CubeMX
中进行
串口
通信
的
配置
?
2022-02-18
1115
如何使用
STM32CubeMX
去
配置
一个
串口
呢
2021-12-02
834
Stm32CubeMx
是如何
配置
串口
控制流水灯的
2021-12-08
1311
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分