00. 目录
01. STM32CubeMX概述
STM32CubeMX是STM32Cube工具家族中的一员,从MCU/MPU选型,引脚配置,系统时钟以及外设时钟设置,到外设参数配置,中间件参数配置,它给STM32开发者们提供了一种简单,方便,并且直观的方式来完成这些工作。所有的配置完成后,它还可以根据所选的IDE生成对应的工程和初始化C代码。除此以外,STM32CubeMX还提供了功耗计算工具,可作为产品设计中功耗评估的参考。
02. STM32CubeMX特性
- 内嵌ST MCU Finder,直观的STM32 MCU&MPU选型,Board选型,例程选型和交叉对比选型
- 丰富易用的图形化接口满足多种配置,并生成相应C代码:
- 引脚配置,自动冲突处理
- Arm® Cortex®-M内核、外设的参数配置及动态验证
- 中间件模块管理及配置
- 时钟树参数配置及动态验证
- 电源功耗评估
- Arm® Cortex®-M内核MCU初始化C工程的自动生成,适用于IAR Embedded Workbench®, MDK-ARM和 STM32CubeIDE (GCC 编译器) ,STM32CubeMX工程包含生成的初始化C代码,STM32驱动、依据配置的中间件和其他相关文档
- 下载或升级STM32Cube嵌入式软件资源(STM32Cube Packages、STM32Cue Expansion Packages)
- Arm® Cortex®-A内核STM32微处理器部分Linux设备树的自动生成,DDR配置
- 通过打开已保存配置的工程切换MCU平台,易于MCU平台间移植
- 导出配置报告
- 集成STM32Cube Packages在项目中,
- CAD资源下载(原理图符号、PCB封装和3D模型)
- 针对STM32U5系列优化功耗的LPBAM配置
- TrustZone友好支持
- 中间件的参数配置USB、LwIP、FatFS、FreeRTOS、Mbed TLS等
- 针对所有系列可进行Thread-Safe设置;
- 基于STM32PackCreator可以开发更丰富的STM32Cube扩展包
- 独立软件运行于Windows®, Linux® , macOS®操作系统,和64-bit Java 运行环境
03. STM32CubeMX创建第一个工程
3.1File菜单选择新建工程
3.2 选择开发板型号
3.3 RCC配置
3.4 配置时钟树
3.5 查看原理图,找到对应的GPIO引脚
通过读电路图,配置PB5引脚为低电平,LED0发光
3.6 配置GPIO,选择PB5
3.7 配置PB5的参数
3.8 PB5的参数配置如下
Output level参数(输出高低电平)
输出高电平:Low
输出低电平:High
mode参数(输出模式)
推挽输出:Output Push Pull
开漏输出:Output open drain
Pull-up/ Pull-updown参数(上下拉电阻):
Maximum output speed参数(输出速率)
User Label参数(别名)
3.9 配置项目信息
3.10 代码生成配置
3.11 点击生成工程
3.12 打开项目
04. STM32CubeMX工程编译
4.1 工程目录如下
4.2 MX_GPIO_Init函数分析
void MX_GPIO_Init(void)
{
// 定义一个GPIO_InitTypeDef结构体变量,用于GPIO初始化配置,初始值为0。
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 启用GPIOB端口的时钟。
// 在配置任何GPIO端口之前,需要先使能其时钟。
__HAL_RCC_GPIOB_CLK_ENABLE();
// 配置GPIOB端口的第5个引脚为低电平。
// 这是一个初始化步骤,确保引脚在配置前处于一个安全的状态。
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
// 开始配置GPIOB的第5个引脚。
// 设置引脚号为GPIO_PIN_5。
GPIO_InitStruct.Pin = GPIO_PIN_5;
// 设置引脚模式为推挽输出模式(GPIO_MODE_OUTPUT_PP)。
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
// 设置引脚不使用内部上拉或下拉电阻(GPIO_NOPULL)。
GPIO_InitStruct.Pull = GPIO_NOPULL;
// 设置引脚的输出速度为低速(GPIO_SPEED_FREQ_LOW)。
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
// 使用以上配置参数初始化GPIOB端口的第5个引脚。
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
4.3 编译
05. STM32CubeMX工程下载
5.1配置Debug选项,选择ST-Link
5.2 设置ST-Link,参考如下
5.3 点击如下红色框内按钮下载即可
文章来源:https://www.toymoban.com/news/detail-844929.html
5.4 观察D0的现象文章来源地址https://www.toymoban.com/news/detail-844929.html
06. 附录
到了这里,关于【STM32】STM32CubeMX创建第一个工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!