问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32CubeMX新建工程详细步骤

创作时间:
作者:
@小白创作中心

STM32CubeMX新建工程详细步骤

引用
CSDN
1.
https://blog.csdn.net/qq_45583758/article/details/142064380

STM32CubeMX是ST公司为STM32系列微控制器开发的图形化配置工具,能够帮助开发者快速配置和生成工程代码。本文将详细介绍使用STM32CubeMX配置工程的步骤,包括工程建立、时钟源设置、时钟系统配置、GPIO功能引脚配置、Cortex-M4内核配置以及生成工程源码等环节。

工程初步建立(新建工程,选择芯片的型号)

使用STM32CubeMX配置工程的一般步骤如下:

  1. 工程初步建立(新建工程,选择芯片的型号)
  2. HSE和LSE时钟源设置(时钟模块设置)
  3. 时钟系统(时钟树)配置(包括PLL、SYSCLK、AHB、APB1、APB2等)
  4. GPIO功能引脚配置
  5. Cortex-M4内核基本配置(限定项)即SYS(DEBUG)配置、NVIC优先级分组
  6. 生成工程源码
  7. 用户程序(main.c)

PS:使用Cubemx的时候,创建文档,需要先修改一下路径。先点击Help,再点击,免得都存在C盘里。

1. 工程初步建立

新建工程有两个方法:

  • 方法一:可以点击“File”,“New Project”即可建新工程。
  • 方法二:直接点击 ACCESS TO MCU SELECTOR选项

随后会进入到芯片选型的界面,可自行根据项目需求选择相应的MCU。芯片型号选择后会弹出图形化界面。

2. HSE和LSE时钟源设置

进入图形化设计界面后,首先需要设置时钟源HSE和LSE。依此点击Pinout&Configuration->RCC->HSE以及LSE,均选择Crystal/Ceramic Resonator,表示外部晶振作为它们的时钟源。查询MCU外围电路的原理图可得其外部高速晶振和外部低速晶振分别是:8MHz和32.768KHz,因此HSE时钟频率就是8MHz,LSE时钟频率就是32.768KHz。

根据需求配置,用的最多的HSE高速外部时钟。选择Crystal晶振。

3. 时钟系统(时钟树)配置

点击Clock Configuration选项卡可弹出时钟树界面,主要配置外部晶振大小,分频系数,倍频系数以及选择器。LSE时钟主要配置看门狗以及RTC,倘若没用到这些外设可以暂时不配置。系统时钟的范围:在数据手册(产品手册)里面可以找到。其时钟必须在其工作限定之内。

PS:实在不了解时钟可以在HCLK输入框,直接输入我们要的时钟频率,这里是72MHz,摁下回车,其会自动配置,CubeMX会帮我们提供一种设置时钟频率和其它时钟的建议。

4. GPIO 功能引脚配置

以PE5及PB5两个GPIO口点亮LED灯为例,配置其引脚功能,可在右下角搜索框中搜索需要的引脚。点击PF5及PB5,在弹出的下拉菜单中,选择IO口的功能为GPIO_Output。IO口功能配置完之后,还要配置IO口的速度,上下拉等参数。这些参数通过System Core下的GPIO选项进行配置。GPIO mode我们已经在视图中配置为推挽输出了,这里不需要修改。GPIO Pull-up/Pull-down 默认是无上下拉,我们这里用默认配置。Maximum output speed 输出速度配置,默认是低速,我们设置为高速。User Label 用户符号,我们可以给PF5起一个别名 LED0。PB5也是按照这样的方法配置起一个别名LED1。

5. Cortex-M4 内核基本配置(限定项)

由于CubeMX默认关闭Debug选项,因此我们需要在SYS选项里需要选择debug功能,不然无法下载。选择串行即可。

在Project Manager界面里面需要设置一些选项。首先是Project Name(工程名称)以及Project Location(工程保存路径)不能有中文字符。

Toolchain Folder Location:工具链文件夹位置,默认即可。

Application Structure:应用的结构,选择Basic(基础),不勾选Do not generate the main(),因为需要其生成main函数。PS:advanced型和basic型的区别

advanced型和basic型的格式不同,一般推荐选择基础型,头文件和C文件分开放置。选择MDK-ARM,就可以用keil打开。

在Code Genernated里面配置。勾选 Generate peripheral initialization as a pir of ‘.c/.h’ files per peripheral,勾选这个选项的话将会将每个外设单独分开成一组.c、.h 文件。

6. 生成工程源码

点击SENERATE CODE即可生成工程源码。完整的工程生成完毕后,其结构如下所示:

  • Drivers 文件夹存放的是 HAL 库文件和 CMSIS 相关文件。
  • MDK-ARM 下面存放的是 MDK 工程文件。
  • Src 文件夹下面存放的是工程必须的部分源文件。
  • Atk-f103.ioc是STM32CubeMX工程文件,双击该文件就会在 STM32CubeMX 中打开。

7. 用户程序

PS:需要注意的是,STM32CubeMX生成的main.c文件中,有很多地方有“/* USER CODE BEGIN X /”和“/ USER CODE END X */”格式的注释,我们需要在这些注释的BEGIN和END之间编写代码,只有这样重新生成工程之后,这些代码会保留而不会被覆盖。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号