STM32CubeMX是ST公司新推出的一个配置工具,直接由图形界面简单配置下,就能生成初始化代码,并对外设做了进一步的抽象,让开发人员可以只专注应用的开发。
STM32CubeMX有爱他的,有嫌弃他的,不过STM32CubeMX的出现的确简化了硬件的初始化过程,降低了入门的难度,配合HAL库,使工程复用更容易。学习STM32的人多少要接触一下,自己喜欢不喜欢,用用才知道。
后台网友询问,如何使用STM32CubeMX设计代码框架,然后实现CPU内置温度传感器测量CPU芯片温度,然后以串口输出输出芯片的温度值,数据更新周期1000ms。
为了实现上面的需求,我们首先要对STM32CubeMX进行简单的了解,下面我们从0到1,仅用4行代码实现LED闪烁功能。明天我们在本文的基础上,再求得CPU芯片温度。
下载并安装STM32CubeMX
本文使用的STM32CubeMX版本为5.3.0:
双击安装程序之后,弹出如下对话框:
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用。
点击“确定”之后,弹出Java的下载链接:
https://www.java.com/zh_CN/download/
下载之后,下一步默认安装即可。
安装完JAVA环境之后,再次双击“SetupSTM32CubeMX-5.3.0.exe”即可以顺利安装了。
勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。
一路下一步,直至出现下面界面,完成STM32CubeMX的安装。
安装HAL库
打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages 。
选择我们会使用的软件包,我们选择的是STM32F1。
创建工程
- 新建工程:
- 选择对应的MCU:
- 双击选择的MCU,进入配置界面:
配置RCC,使用外部晶振如图所示:
- 配置USART1(本例程其实不需要配置串口),模式为异步,不使用硬件流控。
- 配置GPIO,本例使用STM32的核心板上的PC13驱动LED:
- 时钟树配置:
- 工程设置:
- 生成代码:
- 打开Keil5工程:
- 添加四行代码:
- 编译,没有错误:
- 配置JLINK下载程序方式为SW:
点击“Settings”设置如下:
- 确定之后,点击下面1处进行工程编译,然后点击下图2处进行程序下载:
下载程序之后,重新上电,发现核心板上的LED绿灯开始闪烁了。
总结
- 测试结果
- 最后生成的工程目录结构如下:
其中文件夹1为Keil5的工程文件所在目录;文件2为STM32CubeMX生成的工程文件,双击此文件可以随时修改工程配置。
- 编写Keil代码的时候,注意代码存放位置,应该放在成对的USER CODE BEGIN 和USER CODE END之间,放错位置,改动STM32CubeMX工程设置之后,代码可能会丢失。