2024年3月21日发(作者:春茹薇)
STM32CubeMx使用详解
——cuyebiren
——意法半导体STM32/STM8社区
STM32CubeMx是STM32系列单片机初始化代码工程生成工具。我们可以用它搜
索选择满足我们需求的芯片,用它配置芯片外设引脚和功能,用它配置使用如
LWIP、FAT32、FreeRTOS等第三方软件系统,还可以用它做功耗评估。STM32CubeMx
不仅能生成初始化代码工程,也能生成引脚配置信息的pdf和txt文档,方便查
阅和设计原理图。——我相信STM32CubeMx的强大会使玩过它的人赞不绝口,毅
然决然地放弃使用标准库,转而使用基于HAL库的它和HAL库。
下面就开始介绍STM32CubeMx的使用:
一、打开软件后的界面,如下。
这里主要介绍“Help”菜单。“Updater Setings”可以设置下载的固件库及
其解压文件的存放位置,这样就可以找到软件下载的固件库到底存放到哪了。
“Install New Libraries”可以检查并下载固件库和软件更新情况,以及历史版
本,也可以手动导入固件库。
二、点击“New Projet”进入芯片选择界面。
这里选择STM32F407ZGTx(因为我的开发板是这个型号)。
三、选择芯片型号双击或点“OK”,进入工程配置。
四、外设使能及引脚选择。
五、时钟配置。
六、外设及中间件参数配置。
七、工程设置。
八、生成Keil工程。
九、生成的Keil工程分析。
十、HAL库函数(API函数)查找方法。
解压Cube固件包,打开找到Drivers文件夹,再打开如下。 .chm 文件就是HAL
库的API速查手册。方法如下:
十一、学习HAL库的最好方法就是学习官方列程。
打开 Cube 固件包,找到 Projects 文件夹,里边有好多列程,都是官方出的开发板的HAL库列程,不
过是手动建的工程,不是用 CubeMx 生成的。
十二、添加应用程序。
十三、串口打印效果。
十四、小结。
CubeMx 生成的 Keil 工程,可以像我们平时用 标准库 建的工程一样添加 工程文件 、 工程文件夹 和
工程路径。但有一点要注意,就是 在 CubeMx 生成 的 文件 中添加代码时 ,一定要在 “BEGIN” “END” 之
间添加,否则,修改 CubeMx 工程配置 重新生成 Keil 工程时,会把 “BEGIN” “END” 之间 之外的东西清
掉。
2024年3月21日发(作者:春茹薇)
STM32CubeMx使用详解
——cuyebiren
——意法半导体STM32/STM8社区
STM32CubeMx是STM32系列单片机初始化代码工程生成工具。我们可以用它搜
索选择满足我们需求的芯片,用它配置芯片外设引脚和功能,用它配置使用如
LWIP、FAT32、FreeRTOS等第三方软件系统,还可以用它做功耗评估。STM32CubeMx
不仅能生成初始化代码工程,也能生成引脚配置信息的pdf和txt文档,方便查
阅和设计原理图。——我相信STM32CubeMx的强大会使玩过它的人赞不绝口,毅
然决然地放弃使用标准库,转而使用基于HAL库的它和HAL库。
下面就开始介绍STM32CubeMx的使用:
一、打开软件后的界面,如下。
这里主要介绍“Help”菜单。“Updater Setings”可以设置下载的固件库及
其解压文件的存放位置,这样就可以找到软件下载的固件库到底存放到哪了。
“Install New Libraries”可以检查并下载固件库和软件更新情况,以及历史版
本,也可以手动导入固件库。
二、点击“New Projet”进入芯片选择界面。
这里选择STM32F407ZGTx(因为我的开发板是这个型号)。
三、选择芯片型号双击或点“OK”,进入工程配置。
四、外设使能及引脚选择。
五、时钟配置。
六、外设及中间件参数配置。
七、工程设置。
八、生成Keil工程。
九、生成的Keil工程分析。
十、HAL库函数(API函数)查找方法。
解压Cube固件包,打开找到Drivers文件夹,再打开如下。 .chm 文件就是HAL
库的API速查手册。方法如下:
十一、学习HAL库的最好方法就是学习官方列程。
打开 Cube 固件包,找到 Projects 文件夹,里边有好多列程,都是官方出的开发板的HAL库列程,不
过是手动建的工程,不是用 CubeMx 生成的。
十二、添加应用程序。
十三、串口打印效果。
十四、小结。
CubeMx 生成的 Keil 工程,可以像我们平时用 标准库 建的工程一样添加 工程文件 、 工程文件夹 和
工程路径。但有一点要注意,就是 在 CubeMx 生成 的 文件 中添加代码时 ,一定要在 “BEGIN” “END” 之
间添加,否则,修改 CubeMx 工程配置 重新生成 Keil 工程时,会把 “BEGIN” “END” 之间 之外的东西清
掉。