使用STM32CubeMX,4行代码实现LED闪烁

STM32CubeMX是ST公司新推出的一个配置工具,直接由图形界面简单配置下,就能生成初始化代码,并对外设做了进一步的抽象,让开发人员可以只专注应用的开发。

后台网友询问,如何使用STM32CubeMX设计代码框架,然后实现CPU内置温度传感器测量CPU芯片温度,然后以串口输出输出芯片的温度值,数据更新周期1000ms。

为了实现上面的需求,我们首先要对STM32CubeMX进行简单的了解,下面我们从0到1,仅用4行代码实现LED闪烁功能。明天我们在本文的基础上,再求得CPU芯片温度。

下载并安装STM32CubeMX

本文使用的STM32CubeMX版本为5.3.0:

使用STM32CubeMX,4行代码实现LED闪烁

双击安装程序之后,弹出如下对话框:

使用STM32CubeMX,4行代码实现LED闪烁

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用。

点击“确定”之后,弹出Java的下载链接:

https://www.java.com/zh_CN/download/

使用STM32CubeMX,4行代码实现LED闪烁

下载之后,下一步默认安装即可。

安装完JAVA环境之后,再次双击“SetupSTM32CubeMX-5.3.0.exe”即可以顺利安装了。

使用STM32CubeMX,4行代码实现LED闪烁

勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。

使用STM32CubeMX,4行代码实现LED闪烁

一路下一步,直至出现下面界面,完成STM32CubeMX的安装。

使用STM32CubeMX,4行代码实现LED闪烁

安装HAL库

打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages 。

使用STM32CubeMX,4行代码实现LED闪烁

选择我们会使用的软件包,我们选择的是STM32F1。

使用STM32CubeMX,4行代码实现LED闪烁

创建工程

  • 新建工程

使用STM32CubeMX,4行代码实现LED闪烁

  • 选择对应的MCU

使用STM32CubeMX,4行代码实现LED闪烁

  • 双击选择的MCU,进入配置界面:
    配置RCC,使用外部晶振如图所示:

使用STM32CubeMX,4行代码实现LED闪烁

  • SYS中要把Debug设置成 Serial Wire,如果是No Debug的话,可能第一次使用SWD下载之后,就不能二次下载程序了。

使用STM32CubeMX,4行代码实现LED闪烁

如果出现SWD模式不能下载的情况,固件下载操作:按住复位键 > 点击 Download > 提示框更新 如下内容 > 松开复位键 > 正常下载(期间复位键一定要按住,否则会有警告提示框,再次重复上述操作即可)

  • 配置USART1(本例程其实不需要配置串口),模式为异步,不使用硬件流控。

使用STM32CubeMX,4行代码实现LED闪烁

  • 配置GPIO,本例使用STM32的核心板上的PC13驱动LED:

使用STM32CubeMX,4行代码实现LED闪烁

  • 时钟树配置:

使用STM32CubeMX,4行代码实现LED闪烁

  • 工程设置:

使用STM32CubeMX,4行代码实现LED闪烁

使用STM32CubeMX,4行代码实现LED闪烁

  • 生成代码

使用STM32CubeMX,4行代码实现LED闪烁
使用STM32CubeMX,4行代码实现LED闪烁

  • 打开Keil5工程:

使用STM32CubeMX,4行代码实现LED闪烁

  • 添加四行代码:

使用STM32CubeMX,4行代码实现LED闪烁

  • 编译,没有错误:

使用STM32CubeMX,4行代码实现LED闪烁

  • 配置JLINK下载程序方式为SW:

使用STM32CubeMX,4行代码实现LED闪烁

  • 点击“Settings”设置如下:

使用STM32CubeMX,4行代码实现LED闪烁

  • 确定之后,点击下面1处进行工程编译,然后点击下图2处进行程序下载。

使用STM32CubeMX,4行代码实现LED闪烁

下载程序之后,重新上电,发现核心板上的LED绿灯开始闪烁了。

总结

  • 最后生成的工程目录结构如下:

使用STM32CubeMX,4行代码实现LED闪烁

其中文件夹1为Keil5的工程文件所在目录;
文件2为STM32CubeMX生成的工程文件,双击此文件可以随时修改工程配置。

  • 编写Keil代码的时候,注意代码存放位置,应该放在成对的USER CODE BEGIN 和USER CODE END之间,放错位置,改动STM32CubeMX工程设置之后,代码可能会丢失。

使用STM32CubeMX,4行代码实现LED闪烁

欢迎关注

程序员小哈带你玩转嵌入式,微信搜索:嵌入式从0到1,更多干货等着你。
使用STM32CubeMX,4行代码实现LED闪烁