• CubeMX安装和使用指南


    STM32CubeMX是一个图形化的工具,也是配置和初始化C代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。

     从上图可以看得出,它包含了STM32所有系列的芯片,包含示例和样本(Examples and demos)、中间组件(Middleware Components)、硬件抽象层(Hardwaree abstraction layer)。

    STM32CubeMX的特性如下:

    1.直观的选择 STM32 微控制器。

    2.微控制器图形化配置:

    l 自动处理引脚冲突

    l 动态设置确定的时钟树

    l 可以动态确定参数设置的外围和中间件模式和初始化

    l 功耗预测

    3.C代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR、KEIL、GCC。

    4.可独立使用或作为 Eclipse 插件使用。

    STM32CubeMX是ST意法半导体的主动原创工具,它可以减轻开发的时间和费用。STM32CubeMX集成了一个全面的软件平台,支持STM32每一个系列的MCU开发。这个平台包括 STM32Cube HAL(一个 STM32 的抽象层集成软件,确保STM32 系列最大的移植性)。再加上兼容的一套中间件(RTOS、USB、TCP/IP 和图形),所有内嵌软件组件附带了全套例程。

    更多关于STM32CubeMX介绍可以进入ST官网查看。

    获取并安装

    可以直接去意法半导体公司官网下载:

    STM32CubeMX - STM32Cube初始化代码生成器 - STMicroelectronics

    下载完成后,一路Next即可。

    该软件本身是用Java语言编写的,所以需要JRE环境支持,早起版本要自己下载安装,现在一般都是软件自带了。

    基本使用

    设置CubeMx资源路径,用于存放下载和更新的固件库

    Help -> Updater Settings

    资源路径


    注意:资源路径中不能有中文出现

    安装HAL库 

    在线安装

    打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages

    选择需要安装的芯片型号和版本

    安装完成后如下图:

    下载完成后,在刚才创建的固件库中会看到如下内容:

    这就是HAL库。

    此部分内容在HAL专题篇中讲解,不赘述。

    离线安装

    HAL库下载

    直接导入安装包 Help -> Manage embedded software packages ->From Local 选择离线包即可

    使用CubeMx生成HAL工程

    新建工程

    选择芯片型号

    设置调试器,默认是关闭的,如果不使用调试器关闭即可

    如果不使用调试器,即不开启调试端口。

    那么可以通过串口下载程序。但是不支持调试了。

    另外还可以选择是否启用唤醒功能System Wake-Up(端口PA0),具体见数据手册关于唤醒的部分。如果不用唤醒,则其端口可用作普通IO口。

    唤醒功能主要和低功耗模式有关。

    时基源:SysTick通常是给操作系统用的,因为操作系统需要通过时钟来进行调度等功能。如果是裸机,则可以选择该时基源,否则,选用其它的定时器。

    设置外部时钟

    默认是使用的内部时钟
    打开外部时钟

    注意:如果disable外部时钟,则默认使用的是内部时钟HSI和LSI

    另外还有两个选项

    BYPASS Clock Source (旁路时钟源) 指的就是有源晶振,无需使用芯片内部的时钟驱动组件,直接从外界导入时钟信号。

    Crystal/Ceramic Resonator 是选择外部晶振;

    如果你的开发板上STM32采用外部晶振,那么就不能选择BYPASS Clock Source (旁路时钟源)模式,否则STM32将会工作不正常。

    还有个勾选,Master Clock Output是时钟输出,具体可参考时钟树,有个时钟输出功能。

    设置时钟频率

    将时钟评率设置为72MHz,有不明白的可以看STM32时钟系统的配置寄存器和源码分析

    注意,时钟越快功耗越大,应根据实际需要选择,并不是越大越好。

    设置LED引脚

    设置引脚模式

    设置工程

    Code Generator可根据实际需要去勾选

    生成工程

    注意工程路径中不要有中文,要不然工程创建会有错误:

    开始编程

    打开工程

    打开的功能目录如下:

    此部分内容在HAL专题篇中讲解,不赘述。

    注意:编写代码时需要编写在一对注释之间,这样再次生成代码时不会被覆盖。

    比如:在mian.c文件的while循环中加入以下代码

    1. HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
    2. HAL_Delay(1000);

    如下图所示:

    编译下载测试

    功耗评估

    STM32CubeMX提供了一个功耗评估工具选项,可根据当前用户选择的微控制器、电池类型等参数对平均电流、电池预期寿命、平均DMIP、工作的最高环境温度进行评估,且可根据所得的评估结果进一步调整时钟频率、低功耗模式以及外设来进一步降低系统功耗。此外,针对不同的功耗序列转换,STM32CubeMX还提供了转换检测器,使能后可检测配置的功耗序列中无效的转换,并在用户添加新的功耗序列时进行提示。

    功耗评估工具及使能模式切换检测器

    创建功耗序列

    在创建新的序列前需设置好VDD值,还可以选择相应的电池模型,用于后续评估电池的预期使用寿命。

    添加新的电池模型

    点击“New Step”创建并编辑新的序列。序列编辑窗口中选择"Enable IPs from Pinout"可从"Pinout & Configuration"选项配置中导入当前工程配置的外设,并根据需要选择功耗模式、CPU频率、时钟配置等参数。此外,在选项设置(Optional Settings)中可对当前序列的持续时间、额外的电流消耗(如外围电路中的设备消耗)进行设置。当前序列消耗的电流在"Results"项中进行显示。

    功耗序列的创建和编辑

    功耗序列视图

    功耗序列视图可根据所添加的功耗序列按序列步骤、运行和低功耗模式、外设(数字/模拟)消耗等进行显示。并给出了平均电流、电池预期寿命、平均DMIP、工作的最高环境温度的评估结果。

    功耗序列视图

    补充

     用MX生成初始代码后,用户代码要写在类似的这两行开始和结束注释之间:

    否则,修改MX再生成的时候,注释之外的用户代码都会被冲掉。

    用MX配置引脚时,标签名不要随便取,这个名字,会在自动生成的相关代码中被使用。

    相对应的代码中:

    MX配置后,初始的main中,做了哪些事情?

  • 相关阅读:
    (附源码)springboot音乐播放小程序 毕业设计 031306
    Mybatis---CRUD案例
    积分专题笔记-曲线面积分三大公式
    数据结构与算法C语言版学习笔记(6)-树、二叉树、赫夫曼树
    IDEA Debug调试各个按钮说明
    uni-app入门:WXML数据绑定
    常用命令记录
    Java 8 + 10 = Java 18
    SAP FICO银行账户余额查询表开发说明书(包括开发源代码、测试样例及FS)
    Windows使用小技巧
  • 原文地址:https://blog.csdn.net/qq_28576837/article/details/126445286