tip:如有错误,希望指出,非常感谢!
目录
一、前言
STM32CubeMX是ST意法半导体的主动原创工具,集成了一个全面的软件平台,支持STM32每一个系列的MCU开发,是一个图形化工具,可以直观的TM32微控制器的选择和时钟树配置,而且图形化配置外围设备和中间件的功能模式和初始化参数,最后自动生成配置和初始化C代码工程,大大节省开发时间以及一些移植时不必要的粗心错误。对于有一定基础单片机基础知识的开发者来说非常方便,学习该软件非常有必要,本次学习实验以GPIO为例,记录操作的整个流程。
二、STM32CubeMX使用步骤
1.环境搭建
STM32CubeMX环境主要有四部分:
IDE(KEIL5)、JRE( STM32CubeMX 软件是基于 JAVA 环境运行的)、STM32CubeMX软件、安装STM32库
安装环境详细参考:https://blog.csdn.net/qq_36347513/article/details/109260851
2.工程搭建流程
2.1 -- 2.3 为每个项目必须设置流程,2.4以后根据需求配置(以GPIO_LED为例)。
2.1 新建工程
- 打开STM32CubeMX软件—>File—>New Project
- 在右边搜索目标型号 —>选定型号封装,双击
2.2配置时钟
- 点击Pinout & Configuration —> System Core —> RCC
- 选择外部高速晶振HSE为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
- 点击Clock Configuration,配置系统时钟 SYSCLK 为 72MHz(可配置的时钟方框内输入你想要的正确可允许时钟频率,软件将会自动配置分频系数)
2.3 SYS配置,调试模式
注意:需要配置Debug模式,否则会出现只能烧录一次程序后无法识别烧录器的情况或可能出现可以下载无法仿真调试的情况。
- 点击 SYS—>设置 Debug 模式
2.4 GPIO配置
- 点击System Core —> GPIO
- 在右图中选中目标引脚,右键选择输出模式GPIO_Output(注:配置好的引脚为绿色)
- 点击GPIO,选中刚刚选好的GPIO,在下方详细配置参数
- 在GPIO output level 中选择 Low 输出低电平点亮,User_Label添加自定义标签(系统会自动生成引脚的宏定义)
2.5生成代码
- 点击Poject Manager
- 设置Project Name工程名称
- 设置Project Location 工程路径
- 点击Code Generator,选中红色方框中(作用:每个外设生成独立的 ’.c/.h’ 文件,不选择则会将所有初始化代码都生成在main.c中)
2. 点击右上角的GENERATE CODE 生成代码
3. 会提示OPEN Folder 打开工程文件夹 ,OPEN Project 直接打开工程文件
2.6小结
STM32CubeMX使用流程大致如上,如需使用不同外设,根据外设原理进行配置。
3.工程内容
3.1生成工程内容框架
- Drivers :包含STM32F1xx系列的CMSIS以及STM32F1xx芯片HAL库
- Inc :本次工程生成的头文件
- MDK-ARM : keil工程文件
- Src :本次工程生成的源文件
- .ioc : 可以导入STM32CubeMX 重新换选芯片、配置初始化等。
3.2 注意事项
注意:在进入工程后编写代码,开发者一般将代码写于USER CODE BEGIN 和USER CODE END 之间,因为当下次使用STM32CubeMX 修改代码时,不在这里的代码将会丢失。
最后就是根据平时所用的keil开发下载一样,进行开发调试。
三、总结
本次学习STM32CubeMX主要是为了之后开发的一个便利,因为之前每次开发都是通过keil慢慢配置和移植,有时存在缺漏,导致报错,而该软件很好的解决了该问题,大大提高开发效率,减少错误率以及可以规范代码。
此次博客是边学习边做,如有不当之处,欢迎指正。
附录|参考
- 环境搭建参考:https://blog.csdn.net/qq_36347513/article/details/109260851
- STM32CubeMX教程(有更换型号的GIF图):https://blog.csdn.net/Naisu_kun/article/details/97392790
- STM32CubeMX参考:https://blog.csdn.net/Brendon_Tan/article/details/107869664