|
听了研讨会 CubeMX感觉有点意思,回来试用了下。我用的是STM32F072B-DISCOVERY. Cube最新版本是4.3.1.增加了最新的L0,F042等新器件,和一些Nucleo板和Discovery板。可直接导入。 程序实现功能:将接收到的数据发送出去。测试结果如图
- `" a- e, f" `: e0 l$ c 首先,打开STM32CubeMX,打开串口1。+ l; I" e9 I# q
: f( l( ]+ k0 D q 然后Project -->Generate Code , 有两个页面选项
# v- v) Q. n3 v: r& [: N 可以生成如上3种工程,我一般用keil . ' y7 H- L" H! j1 {0 S
以上页面中红框1表示每个外设单独生成一个.c和.h文件,这样层次更明确。红框2中表示把其余不用的pin脚都设置为模拟输入以降低功耗,也选上。9 @/ j! z) A( I2 I2 U% S& t 生成工程后会自动生成4个文件夹,如图。其中Drivers就是硬件抽象层,类似于以前的库,都以“hal”结尾。inc和src分别是生成的头文件和包含文件。Projects是工程快捷方式。
( z3 E/ B: ~! X2 B" A6 v# N/ k! L 以下是使用以前的库需要做的工作,判断是否接收完毕,发送接收到的数据,等待发送完毕。
$ F3 A O, D# c* |! s& v 这是用新的CubeMX生成的工程需要添加的函数,串口接收直接使用HAL_UART_Receive( ) , 发送直接用HAL_UART_Transmit( ) .也不需要再加判断接收/发送状态。都包在了函数里面。修改响应的参数即可。但首次使用难免会不熟,我也是看了HAL里面的UART例程函数才知道可以调用这两个函数的,再看看原型,基本就懂了。+ c$ k( V$ H: |8 i6 H
) K: |. c( ?( h0 Y4 B0 v, Q 9 ~; v$ S3 T1 ]8 m7 W) F' E 总体来说,硬件抽象层的这些函数,宏定义比起以前的库文件还是有很多的不同。但总体里说感觉还是会减少一些工作量。后面有工程时会具体再试一下。 附件是生成的072的keil工程,除了上图的红框,其余都是系统自动生成的。) r, M* n: A5 @/ r# I& A) k
Cube_MX_STM32F072_UART1.rar
(2.43 MB, 下载次数: 36)
|
![]() |
STM32Cube嵌入式软件更新(2026年8月)
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
微信公众号
手机版