蓝桥杯嵌入式赛道---软件篇(CubeMX基础使用教程)

前言

  • 使用CubeMX生成STM32工程我认为是现在主流和更现代化的新建工程方式
  • 相比与标准库它不仅仅可以自动生成配置代码,不用手动配置,并且他的库函数是会持续更新的,而标准库已经完全落伍了
  • 这个软件能配置几乎所有STM32系列芯片的工程代码,不用费劲去找标准库的资源
  • 资料包获取:蓝桥杯嵌入式赛道—软件篇(备赛环境准备一)

熟悉CubeMX

  • 打开CubeMX之后是这样的界面,我们只需要关注这三个标注的界面即可

  • 由CubeMX生成工程后,会有一个.ioc文件,这就是CubeMX的工程文件,有这个文件就会生成对应的STM32芯片的工程代码

    在这里插入图片描述

①菜单栏

File

点开File栏后有这么几个选项,其中不可选的选项是在编辑工程的时候使用的
在这里插入图片描述

  • New Project:新建工程
  • Load Project:选择本地现有的工程
  • Import Project:这个平常不怎么会用到,可以忽略

在导入工程之后,之前不可选的选项就可以使用了
在这里插入图片描述

  • Save Project:保存工程(直接快捷键ctrl + s也可以)

  • Save Project As:另存工程(是以这个工程为模板去新建一个新的项目)

  • Close Project:关闭工程(点击之后就可以退出这个工程)

  • Generate Report:生成工程报告(点击之后会生成对这个工程配置专业报告,有pdf版和txt版)

    在这里插入图片描述

  • Recent Projects:选择最近编辑过的工程

    在这里插入图片描述

  • Exit:退出软件

Windows

在这里插入图片描述

  • 这个菜单是用来配置窗口显示的,可以忽略,非必要一般不会去调整这里面的配置
  • Outputs:选项没什么大用,可以忽略
  • Display size:这个选项是配置你这个窗口的显示尺寸,现在这个是一个中等的配置。选择Smaller之后窗口的显示会变小,Larger则是变大

Help

点开Help后这里有很多的选项,只需要关注我讲解的这两个即可个即可
在这里插入图片描述

  • Manage embedded software packages:点开之后是这样的界面,这里是对CubeMX生成代码的库文件的管理窗口。这里可以配置对应芯片的库文件的版本等信息。左下角标注的From Local是从本地导入库文件,这个是导入现有的库文件的方法
    在这里插入图片描述

  • Connection & Updatas:点开后是这样的界面,只要关注红框里的内容即可。这是库文件的保存路径,一般默认是C盘,如果不想C盘爆满的话就要修改一下安装路径

    在这里插入图片描述

    • 这些zip压缩包就是库文件的压缩包文件,上面的对应库文件的文件夹就是软件自动解压出来的,依靠这些文件来自动生成代码,现在的目录就是我新设置的库文件的目录

      在这里插入图片描述

②Existing Projects

  • 这里展示的是最近编辑的项目,点击后就可以直接进行编辑
  • 或者是点击下面的Other Projects选择其他工程文件打开

在这里插入图片描述

③New Project

这个界面是用于新建工程的,有多种生成工程的方式,最下面的选项是一个分析工具
在这里插入图片描述

  • ACCESS TO MCU SELECTOR:基于芯片型号新建工程,选择对应的芯片型号即可
  • ACCESS TO BOARD SELECTOR:基于开发板新建工程,选择对应开发板即可(这个选择限制性太大了,一般情况下都选择基于芯片型号去新建工程)
  • ACCESS TO EXAMPLE SELECTOR:基于案例模板新建工程,这里选择的是官方提供的一些案例给用户直接学习使用
  • ACCESS TO COMPARE PROJECTS:这个选项进去后会让你分别导入两个工程的工程文件,然后分析二者的区别(非专业开发者可忽略)

新建工程

  • 新建工程非常的简单,有固定的流程模板,照着我的流程步骤多实践几次之后就会熟悉如何使用了

步骤一:选择芯片型号新建工程

  • 点击File,然后选择New Project

    在这里插入图片描述

  • 随后我们会进入到这个界面当中,需要特别留意三个红框中的内容。最右边的是选择芯片的型号,左边的分别是收藏(可以在右边红框中的点击星星收藏后可以在这里面快速查找),芯片搜索(搜索芯片的型号)

    在这里插入图片描述

  • 这里就以蓝桥的竞赛平台(STM32G431RBT6)为例,输入到搜索框中搜索后就可以找到,我们选择第一个,并且点击收藏以便下次在收藏目录中快速查找。接下来双击第一个芯片型号的选项后就可以跳转到工程界面

    在这里插入图片描述

  • 这就是我们的工程界面,有非常多的配置选项。同时在对他配置的时候,这里的芯片引脚会有对应的信息,可以非常直观的看到

    在这里插入图片描述

  • 到这里基本的工程文件就配置好了,接下来要做的是对芯片进行配置和生成HAL库代码导入Keil5中进行编程使用

步骤二:配置代码文件信息

首先进入Project Manager这个界面,这里是对最后生成代码文件的配置,非常的重要,一步都不能差否后期维护或者进行工程管理的时候就会非常麻烦
在这里插入图片描述

Project

这一部分只需要关注这两个红框框的内容即可
在这里插入图片描述

这一部分是配置工程的文件信息

  • Project Name:工程名称(建议不要起中文名称)
  • Project Location:工程的保存目录(点击Browse可以选择路径)
  • Application Structure:程序结构(默认即可)
  • Toolchain/IDE:编程使用的IDE(会根据你选择的IDE生成相应的文件,我们使用Keil5就用这里的MDK-ARM即可),后面的是编译器的版本(默认即可)

这一部分是对库文件的配置
在这里插入图片描述

  • 如果正常联网使用,这一部分可以不用管,但是在蓝桥杯比赛的时候是断网的,就需要导入现场提供的库文件

  • 首先进入这个界面之后,点击From Local,再找到“资料包”中的文件,这些红框标注的就是库文件

    在这里插入图片描述
    在这里插入图片描述

  • 在导入完成之后会出现对应版本的绿标提示,就表明你导入完成,回到CubeMX,按照这个提示点击,再选择库文件对应的版本即可,这样就完成了导入离线库文件
    在这里插入图片描述

    在这里插入图片描述

  • 最终的配置如图所示

    在这里插入图片描述

Code Generator

这里是对生成代码文件结构的配置
在这里插入图片描述

  • 按照提示点击即可,这样代码文件的结构会更加简洁和层次分明

    在这里插入图片描述

  • 到这里工程的文件信息的配置就完成了

步骤三:配置芯片的时钟

来到这个界面可以看到芯片的时钟树,可以详细的看到时钟在芯片内部的具体配置信息,比赛的时候我们需要芯片的主频设置成80MHz
在这里插入图片描述

  • 首先回到最开始的配置界面,按照图示的步骤开始外部时钟

    在这里插入图片描述

  • 再回到时钟配置的界面,按照图示的方式设置时钟即可,最后的主频是80MHz就表明设置成功

    在这里插入图片描述

步骤四:设置芯片下载/调试接口

在最开始的配置界面按照这个步骤,即可设置好芯片的下载引脚(因为我们使用的是DAP-Link,如果使用的是JTAG-Link就要选择其他选项)
在这里插入图片描述

步骤五:生成工程

点击这个即可生成工程代码。如果后续对工程的配置有任何修改,就需要重新点击这个来更新新的工程代码
在这里插入图片描述

  • 在点击生成工程代码之后会弹出这样的窗口

  • Open Folder:打开文件目录

  • Open Project:打开Keil5

    在这里插入图片描述

  • 进入到Keil5中我们就可以看到由CubeMX自动生成的代码文件(注意:如果一进去Keil5就弹出一个弹窗,让你下载东西,说明你的Keil5中没有这个芯片的支持包,就需要去“资料包”中导入芯片的支持包),顺便可以编译一下工程,看看配置有无错误

    在这里插入图片描述

    在这里插入图片描述

后续

CUBMX 是 STMicroelectronics 提供的一个配置工具,主要用于 STM32 微控制器的外设配置和初始化代码生成。对于新手来说,掌握 CUBMX 的基本使用方法是开发 STM32 项目的重要一步。以下是关于 CUBMX 使用教程和新手入门的详细指导: CUBMX 提供了图形化界面(GUI),用户可以通过它选择微控制器型号、配置外设、设置时钟树,并生成初始化代码。首先,需要从 STMicroelectronics 官网下载并安装 STM32CubeMX 工具。安装完成后,启动软件,用户将看到主界面,可以开始新建项目或打开已有项目[^1]。 在新建项目时,用户需要选择目标微控制器型号。CUBMX 支持广泛的 STM32 系列芯片,因此选择正确的型号非常重要,以确保后续配置的准确性。选择型号后,进入配置界面,这里可以设置微控制器的各个外设,例如 GPIO、UART、SPI、I2C 等。每个外设的配置选项都提供了详细的参数设置,用户可以根据项目需求进行调整[^1]。 时钟树配置是 CUBMX 中一个非常重要的部分。通过时钟配置界面,用户可以设置系统时钟源、PLL 倍频系数、AHB/APB 总线时钟等。CUBMX 会根据用户的配置自动计算各外设的时钟频率,并提示可能的错误或警告。这一步骤对于确保外设正常工作至关重要[^1]。 配置完成后,用户可以生成初始化代码。CUBMX 支持多种开发环境,包括 Keil MDK、IAR Embedded Workbench、STM32CubeIDE 等。在生成代码时,用户可以选择目标开发环境,并指定输出目录。生成的代码包含了所有外设的初始化函数,用户可以直接将其导入到自己的项目中进行进一步开发[^1]。 为了更好地理解和使用 CUBMX,建议新手参考官方文档和示例项目。STMicroelectronics 提供了丰富的学习资源,包括用户手册、视频教程和应用笔记。此外,社区和论坛也是获取帮助的重要途径,许多开发者在使用 CUBMX 过程中积累了宝贵的经验,可以在这些平台上分享和交流[^1]。 ### 示例代码 以下是一个简单的 CUBMX 生成的 GPIO 初始化代码示例: ```c void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); /*Configure GPIO pin : PA5 */ GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } ``` 这段代码展示了如何使用 CUBMX 生成的初始化函数来配置 GPIO 引脚 PA5 为推挽输出模式,并将其初始状态设置为低电平[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值