STM32CubeMX安装及使用分享
说是教程,属实是不敢当,只是把自己觉得较为正式的方式分享给各位,如有问题请提出大家一起讨论。
文章目录
- 软件下载
- 软件安装
- 软件使用
- 开发板工程
- 单片机工程
- 单片机工程创建
- 单片机工程配置界面
- 单片机工程具体配置
- 引脚功能配置
- 系统时钟配置
- 工程配置
- Project
- Code Generator
- Advanced Settings
- 生成
软件下载
-
搜索STM32CubeMX。官方链接:
STM32Cube initialization code generator
-
获取软件前建议注册、登录账号。登录后右上角会显示个人信息,才会出现 “Get Software” 按钮。
-
点击 “Get Software” 按钮,跳转到下方列表,选择合适版本:
-
同意协议后,开始下载
软件安装
此软件安装过程十分经典,同意协议后一直下一步即可,固态硬盘电脑,安装路径默认即可。
软件使用
-
软件启动后界面如下
-
其中,中间给出了三个选项按钮,我先略说一下中间的开发板选择按钮和一些软件好用的功能,后面大篇幅再讲单片机按钮的内容
开发板工程
为什么要先讲开发板工程呢?
一是大体内容相同,而我所看到的各种教程,讲开发板的少,初识STM32的同学不知道怎么找资料,不知道怎么用,而单片机,大家都知道上网去查手册,所以先讲讲开发板的界面;
二是开发板其中很多界面和单片机界面类似,一通百通
-
如果购买了或者运气好获得了官方的开发板,那可以选择中间按钮 “ACCESS TO BOARD SELECTOR” ,进入后的界面如下
-
在首次或者每隔一段时间启动STM32CubeMX时,软件都会从服务器更新数据,等待即可自动完成
-
如果软件运行过,且不需要更新的话,直接Cancel也是没问题的,可后面手动点击首页的Update更新,不再赘述
-
-
右侧列表是选型列表
-
由于我们大多数开发,都是基于某型的MCU或者MPU(截至当前ST的产品线)进行自定义开发,除非基于官方开发板的项目,否则均不选择上述第二个按钮,我们直接选择第一个按钮创建基于芯片的新项目即可
-
当然我还要在此提一句,如果有需要参考官方开发板设计的需求,那么查询你所要的单片机型号是否有开发板,如果存在,右侧列出并选择:
-
-
具体的ST开发板产品线如下:
-
一般我们可以选择根据单片机查找开发板
-
勾选需要的型号,例如我选择了F4系列后,右边列表选择F411开发板,则上方会出现详细资料,这和官网的资料一致,免去了官网查找的麻烦
-
此处提及几个要点
-
点击列表左侧的⭐,可以进行收藏,收藏在左上角的Board Filters下方的星星处,一旦有了收藏后,星星即变为蓝色,可在里面收藏常用型号的芯片和开发板
-
Docs选项卡中有资料:BOM、原理图、手册等等,右侧是Datasheet,按需下载
-
下载后的文件都在用户目录下,直接复制到资源管理器(此电脑)地址栏即可
-
%userprofile%/STM32Cube/Repository
那么经过这一番操作,我们基本熟悉了软件的大致布局,我们接下来切换到单片机选择部分,有两种方式:
- 当前页面左上角直接切换
我想,经过对比,你一定看出了这三个按钮的关系其实是一致的,在当前页面直接选择
此按钮也可
- 我们也可以关闭当前页面,恢复到初始页面重新选择
单片机工程
单片机工程创建
-
那么经过一堆废话,到了最常用的部分,点击进入后,填入单片机型号
-
直接双击列表中型号或选中后右上角启动均可
-
创建工程后,我们开始配置工作
单片机工程配置界面
-
上面一行是几大核心配置,左侧一列是具体外设及GPIO等配置
-
时钟配置
-
工程配置
单片机工程具体配置
此处我们还是以最简单的点灯为例子,进行从系统时钟、调试口、GPIO等的配置
引脚功能配置
-
RCC,按需开启外部或内部时钟,开启后,右侧引脚会有变化,请自行探索,而配置下方是详细配置
-
我们可以选择最常见的SWD调试接口
-
例如我们选择PA1作为从电源 -> 电阻 -> LED -> IO灌入的接法,那么点击PA1引脚,选择GPIO_Output
-
GPIO默认输出低电平,驱动LED一般配置为推挽输出,所以无上拉也无下拉,最后的亮灭由程序决定
- 最下面还有个自定义标签功能User Label,可以给IO自定义名称,也就相当于写在头文件中的 “#define”
- 最下面还有个自定义标签功能User Label,可以给IO自定义名称,也就相当于写在头文件中的 “#define”
系统时钟配置
我们已经在RCC页面配置了内部或者外部时钟,那么我们就要在时钟配置界面进行各部分的详细配置
在选择为HSE后,则外部时钟源高亮,内部未选择,则没有连接
将这里的8改成电路上的实际外部晶振数值,一般系统的总线频率我们都配置为最大,这样获得更好的效果
- 这里我们先不要管其他外设的时钟频率,先输入想要的总线时钟,回车后软件会自动配置,最后只需要检查即可
- 如果时钟配置有问题,会提示,我们点击OK尝试
接着,后面的外设就都被自动配置完成
如果对个别外设有特殊需求,再手动修改,否则即完成
到此,MCU配置相关的部分已经基本完成,下面进行的是工程配置
工程配置
Project
- 工程名称:
- 规范地按照你的习惯起名字,注意不要有中文符号和空格等问题
- 工程位置:
- 位置自行选择,还是中文路径的问题,为避免编译器问题,请养成良好习惯
- 编译工具的配置:
- 大多数初学者入门包括很多工程师必不可少都在用Keil
- 现在STM32推出了他们的CLT包支持VSCode官方插件直接编译调试,还有STM32CubeIDE等
- 这里我们还是选大多数人用的Keil,版本按照安装的版本,我的是V5最新版,选择大版本V5即可
- 大多数初学者入门包括很多工程师必不可少都在用Keil
其他部分保持默认
Code Generator
这里修改两处:
- 我们只需要复制工程所需要的库即可
怎么理解这句话,比如我们没有用到USB、IIC、串口等等的功能,但在配置页面勾选了一些功能,那么在这里勾选了All used libraries… 的话,就会使得工程目录内存较大,可以选 仅使用必要的库 - 勾选生成官方的.c和.h库
Advanced Settings
里面有些高级配置,比如使用LL库在这里配置,还有
一些寄存器调用等高级配置,若你需要配置它的时候,说明你已经不再适合读这篇文章了
生成
最后,点击右上角大大的按钮,创建工程
- 若首次配置这个型号MCU的工程,因为没有HAL库的Firmware,故提示需要下载。
Yes即可
- 登录ST账号
- 登录后在Help最后一项中可以看到
- 等待下载、安装完成
- 最后弹出此对话框表示成功
Open Folder 表示打开工程文件夹
里面是STM32CubeMX的工程文件: xxx.ioc和Keil工程文件等,可以在此添加其他文件和版本管理
Open Project 表示选择直接用Keil打开工程,接下来直接写代码更方便
下篇博客将会分享使用官方CLT配合VSCode的生成和代码编辑方法