STM32CubeMX安装及使用分享

说是教程,属实是不敢当,只是把自己觉得较为正式的方式分享给各位,如有问题请提出大家一起讨论。


文章目录


软件下载

  1. 搜索STM32CubeMX。官方链接:
    STM32Cube initialization code generator

    ​​​​

  2. 获取软件前建议注册、登录账号。登录后右上角会显示个人信息,才会出现 "Get Software" 按钮。​​

  3. 点击 "Get Software" 按钮,跳转到下方列表,选择合适版本:

  4. 同意协议后,开始下载


软件安装

此软件安装过程十分经典,同意协议后一直下一步即可,固态硬盘电脑,安装路径默认即可。


软件使用

  • 软件启动后界面如下

  • 其中,中间给出了三个选项按钮,我先略说一下中间的开发板选择按钮和一些软件好用的功能,后面大篇幅再讲单片机按钮的内容

开发板工程

为什么要先讲开发板工程呢?

一是大体内容相同,而我所看到的各种教程,讲开发板的少,初识STM32的同学不知道怎么找资料,不知道怎么用,而单片机,大家都知道上网去查手册,所以先讲讲开发板的界面;

二是开发板其中很多界面和单片机界面类似,一通百通

  • 如果购买了或者运气好获得了官方的开发板,那可以选择中间按钮 "ACCESS TO BOARD SELECTOR" ,进入后的界面如下

    • 在首次或者每隔一段时间启动STM32CubeMX时,软件都会从服务器更新数据,等待即可自动完成

    • 如果软件运行过,且不需要更新的话,直接Cancel也是没问题的,可后面手动点击首页的Update更新,不再赘述

  • 右侧列表是选型列表

    • 由于我们大多数开发,都是基于某型的MCU或者MPU(截至当前ST的产品线)进行自定义开发,除非基于官方开发板的项目,否则均不选择上述第二个按钮,我们直接选择第一个按钮创建基于芯片的新项目即可

    • 当然我还要在此提一句,如果有需要参考官方开发板设计的需求,那么查询你所要的单片机型号是否有开发板,如果存在,右侧列出并选择:

  • 具体的ST开发板产品线如下:

  • 一般我们可以选择根据单片机查找开发板

  • 勾选需要的型号,例如我选择了F4系列后,右边列表选择F411开发板,则上方会出现详细资料,这和官网的资料一致,免去了官网查找的麻烦

  • 此处提及几个要点

    1. 点击列表左侧的⭐,可以进行收藏,收藏在左上角的Board Filters下方的星星处,一旦有了收藏后,星星即变为蓝色,可在里面收藏常用型号的芯片和开发板

    2. Docs选项卡中有资料:BOM、原理图、手册等等,右侧是Datasheet,按需下载

    3. 下载后的文件都在用户目录下,直接复制到资源管理器(此电脑)地址栏即可

%userprofile%/STM32Cube/Repository


那么经过这一番操作,我们基本熟悉了软件的大致布局,我们接下来切换到单片机选择部分,有两种方式:

  • 当前页面左上角直接切换

我想,经过对比,你一定看出了这三个按钮的关系其实是一致的,在当前页面直接选择

此按钮也可

  • 我们也可以关闭当前页面,恢复到初始页面重新选择

单片机工程

单片机工程创建
  1. 那么经过一堆废话,到了最常用的部分,点击进入后,填入单片机型号

  2. 直接双击列表中型号或选中后右上角启动均可

  3. 创建工程后,我们开始配置工作

单片机工程配置界面
  1. 上面一行是几大核心配置,左侧一列是具体外设及GPIO等配置

  2. 时钟配置

  3. 工程配置

单片机工程具体配置

此处我们还是以最简单的点灯为例子,进行从系统时钟、调试口、GPIO等的配置

引脚功能配置
  1. RCC,按需开启外部或内部时钟,开启后,右侧引脚会有变化,请自行探索,而配置下方是详细配置

  2. 我们可以选择最常见的SWD调试接口

  3. 例如我们选择PA1作为从电源 -> 电阻 -> LED -> IO灌入的接法,那么点击PA1引脚,选择GPIO_Output

  4. GPIO默认输出低电平,驱动LED一般配置为推挽输出,所以无上拉也无下拉,最后的亮灭由程序决定

    • 最下面还有个自定义标签功能User Label,可以给IO自定义名称,也就相当于写在头文件中的 "#define"
系统时钟配置

我们已经在RCC页面配置了内部或者外部时钟,那么我们就要在时钟配置界面进行各部分的详细配置

在选择为HSE后,则外部时钟源高亮,内部未选择,则没有连接

将这里的8改成电路上的实际外部晶振数值,一般系统的总线频率我们都配置为最大,这样获得更好的效果

  • 这里我们先不要管其他外设的时钟频率,先输入想要的总线时钟,回车后软件会自动配置,最后只需要检查即可

  • 如果时钟配置有问题,会提示,我们点击OK尝试

接着,后面的外设就都被自动配置完成

如果对个别外设有特殊需求,再手动修改,否则即完成

到此,MCU配置相关的部分已经基本完成,下面进行的是工程配置

工程配置
Project
  • 工程名称:
    • 规范地按照你的习惯起名字,注意不要有中文符号和空格等问题
  • 工程位置:
    • 位置自行选择,还是中文路径的问题,为避免编译器问题,请养成良好习惯
  • 编译工具的配置:
    • 大多数初学者入门包括很多工程师必不可少都在用Keil
      • 现在STM32推出了他们的CLT包支持VSCode官方插件直接编译调试,还有STM32CubeIDE等
    • 这里我们还是选大多数人用的Keil,版本按照安装的版本,我的是V5最新版,选择大版本V5即可

其他部分保持默认

Code Generator

这里修改两处:

  1. 我们只需要复制工程所需要的库即可
    怎么理解这句话,比如我们没有用到USB、IIC、串口等等的功能,但在配置页面勾选了一些功能,那么在这里勾选了All used libraries... 的话,就会使得工程目录内存较大,可以选 ++仅使用必要的库++
  2. 勾选生成官方的.c和.h库
Advanced Settings

里面有些高级配置,比如使用LL库在这里配置,还有

一些寄存器调用等高级配置,若你需要配置它的时候,说明你已经不再适合读这篇文章了

生成

最后,点击右上角大大的按钮,创建工程

  • 若首次配置这个型号MCU的工程,因为没有HAL库的Firmware,故提示需要下载。
    Yes即可
  • 登录ST账号
  • 登录后在Help最后一项中可以看到
  • 等待下载、安装完成

  • 最后弹出此对话框表示成功

    Open Folder 表示打开工程文件夹
    里面是STM32CubeMX的工程文件: xxx.ioc和Keil工程文件等,可以在此添加其他文件和版本管理

Open Project 表示选择直接用Keil打开工程,接下来直接写代码更方便


下篇博客将会分享使用官方CLT配合VSCode的生成和代码编辑方法

相关推荐
天月风沙15 分钟前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机
计蒙不吃鱼3 小时前
星闪开发之Server-Client 指令交互控制红灯亮灭案例解析(SLE_LED详解)
嵌入式硬件·物联网·iot·星闪·星闪开发
想搞嵌入式的小白4 小时前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic
A-花开堪折4 小时前
Android7 Input(十)View 处理Input事件pipeline
android·嵌入式硬件
深圳市尚想信息技术有限公司5 小时前
【深尚想】OPA855QDSGRQ1运算放大器IC德州仪器TI汽车级高速8GHz增益带宽的全面解析
单片机·嵌入式硬件
陕西艾瑞科惯性技术有限公司5 小时前
让飞行姿态 “可感知”:为什么无人机需要三轴陀螺仪?
嵌入式硬件·机器学习·机器人·无人机·pcb工艺
代码总长两年半5 小时前
STM32----IAP远程升级
stm32·单片机·嵌入式硬件
广药门徒6 小时前
STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
单片机·嵌入式硬件
广药门徒6 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
jz_ddk7 小时前
[zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
linux·运维·c语言·网络·嵌入式硬件