上一篇 下一篇
keil 中常用的 C 语言(简述) Keil MDK 如何更改已有工程的工程名


STM32CubeMX 的使用

直接从官网下载(注册个账号,支持中国大陆),速度较慢,但还好。

注意:这个软件只支持 STM32 系列的单片机。并且初学者不建议使用,初学建议从基础开始学,这个是偷懒的一个工具。

使用目的:对于某个外设,可以用软件生成初始化代码,然后 参考理解

STM32CubeMX 是专门为 HAL 库 编程用的。

1)相关链接:

官方下载链接:STM32CubeMX | Software - 意法半导体STMicroelectronics

软件下载教学视频:STM32CubeMX快速安装指南:一步一步教你下载和安装 保姆级教程ST官方下载 安全可靠_哔哩哔哩_bilibili

固件包下载教学视频(可以直接在 ST 官网搜 STM32cube,然后选对应的型号和版本):

同时包括下载和使用的教学视频:全是干货 | STM32CubeMX工具入门【初学必备】_哔哩哔哩_bilibili

【注意】从 6.0 版本之后,就不需要再手动搭建 java 环境了(内置了)。

2)简介:

STM32CubeMX 是 ST 开发的一款图形配置工具,可通过配置自动生成初始化代码(并不是逻辑代码)。

搭配不同系列的 STM32Cube 固件包,即可支持不同系列的 STM32 芯片。

在这里插入图片描述

3)使用:

①固件包的存放位置设置:

在这里插入图片描述

②关联固件包:

在这里插入图片描述

三种方式:

  1. 联网下载并自动解压固件包:

    先勾选所需下载的固件包,然后点击 Install 按钮,即可自动下载并解压
    (压缩包和解压缩后的文件夹都会存放在设置的固件包存放地)。

  2. 本地关联解压固件包:

    将已有的固件压缩包,放进设置好的固件包存放地,然后点击 From Local … 按钮,即可自动解压。

  3. 直接将解压缩后的固件包文件夹放进设置好的固件包存放地。

【注意】上述三种方式进行后,相关的固件包前方框就会显示绿色。

③新建工程步骤:

这里可以参考一些网上的教学视频。

  1. 工程初步建立: 新建工程,选择芯片型号
  2. 时钟模块配置: 设置 HSE、LSE、MCO
  3. 时钟系统配置: PLL、SYSCLK、AHB、APB1、APB2 等等
  4. GPIO引脚配置: 配置所需的引脚
  5. Cortex内核配置: SYS(DEBUG)配置、NVIC(优先级分组)
  6. 生成工程源码: 设置工程,MDK 等,最后生成代码工程
  7. 编写用户程序: 在 main.c 文件预留的位置编写代码

配置的时候,基本上从第三步开始,就要对照开发板的手册和原理图来设置了。

SYS(DEBUG)配置的时候,如果没有配置,那么就默认使用 JTAG 。选项中的 Serial Wire 就是 SWD。

NVIC 默认配置是 “4 位抢占优先级,0 位响应优先级” 。

1. 为什么要在预留的地方写对应的代码?

是因为如果有要修改的地方,可以再用 CubeMX 生成初始化代码,而 STM32CubeMX 有一个 “用户代码保留机制” ,它会先重新生成所有初始化代码,然后扫描本地文件中的 USER CODE BEGIN/END 区域,将我们自己写的代码“提取”出来,重新插入到新生成的文件中,而其他不在 USER CODE 区域的代码可能会被覆盖。

2. 相关标识符含义:

GPIO:

  • GPIO optput level:GPIO输出电平

    • Low:低电平
    • High:高电平
  • GPIO mode:GPIO 模式

    • Output Push Pull:推挽输出
    • Output Open Drain:开漏输出
  • GPIO Pull-up/Pull-down:GPIO 上下拉

    • No pull-up and no pull-down:不上拉也不下拉
    • Pull up:上拉
    • Pull down:下拉
  • Maximum output speed:最大输出速度

    • Low:低速
    • Medium:中速
    • High:高速

4)补充:

初始化代码和逻辑代码的区别:

名称 中文含义 简要定义
初始化代码 Initialization Code 程序启动时一次性执行的代码,用于配置硬件、外设、时钟、引脚等,为后续运行做准备
逻辑代码 Logic Code 程序运行过程中持续执行的代码,实现具体功能(如控制、计算、通信等)

一句话总结:初始化代码是 “准备阶段” ——让硬件 ready;逻辑代码是 “执行阶段” ——让系统 work。


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐