STM32之CubeMX新建工程操作(十八)

STM32F407 系列文章 - STM32CubeMX(十八)


目录

前言

一、STM32CubeMX

二、新建工程

​编辑

1.创建工程

2.选择芯片型号

3.Pinout引脚分配

1.SYS配置

2.RCC配置

3.定时器配置

4.GPIO引脚配置

5.中断配置

6.通讯接口配置

7.插件Middleware配置

4.Clock时钟树配置

5.工程管理ProjectManage

1.项目工程配置

2.代码生成配置

3.代码生成配置

三、生成工程

总结


前言

STM32CubeMX源自意法半导体,旨在通过减少开发工作量、时间和成本,从而最大限度地复用软件并缩短创建目标系统的时间,让开发人员的生活更轻松。通过STM32CubeMX图形软件配置工具生成单片机工程代码,本文主要介绍如何在CubeMX上新建一个项目工程。


一、STM32CubeMX

关于STM32CubeMX软件的介绍,包括其功能特性、下载安装流程、软件配置操作、以及相关出现的问题请参考上一篇博文STM32CubeMX图形化工具开发介绍 - CSDN博客,里面有详细的介绍,这里在不作说明介绍。

二、新建工程

在window桌面打开STM32CubeMX软件,如下所示。

1.创建工程

打开软件后,显示如下,在New Project处,点击Start My from MCU开始选择一款处理器芯片建立一个工程。

出现如下提示,等待下载完即可。

2.选择芯片型号

在上面new Project界面上,输入所用到的处理器芯片型号进行搜索,双击搜索结果中的目标芯片型号,在下方MCUs List: Item 处,即可进入配置。

处理器芯片配置界面如下。

3.Pinout引脚分配

在上图处理器芯片配置界面上,选择Pinout & configuration进行配置,Pinout配置主要包括System Core系统核配置、Analog模拟量配置、Timer定时器配置、Connectivity通讯接口配置、Multimedia多媒体配置、Middleware第三方插件配置等等,不一一举例,如下所示。

1.SYS配置

在System Core上,点击SYS配置,在Debug调试选项上,选择JTAG 5 pin5模式,然后定时器基准源选择系统定时器,具体设置如下所示。

2.RCC配置

在System Core上,点击RCC配置,在HSE外部高速时钟源上选择Crystal/Ceramic Resonator外部晶振模式,具体设置如下所示。

3.定时器配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

4.GPIO引脚配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

5.中断配置

根据自己的需求,可配置可不配置,不配置系统会默认,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

6.通讯接口配置

根据自己的需求,可配置可不配置,如要配置的话,可参考如下,关于其参数设置,最好根据芯片手册以及自己的需求进行设置。这里提供的是前面的一篇博文网络通讯之STM32CubeMX实现LWIP项目设计-CSDN博客的设置方法,可进行参考。

7.插件Middleware配置

在Middleware选项区,cubeMX提供了一些第三方插件,如FATFS文件系统、freertos实时操作系统、lwip等等,用户可以根据自己的需求,是否使用的到,如有需要, 可参考如下前面的一篇博文网络通讯之STM32CubeMX实现LWIP项目设计-CSDN博客的设置方法。关于其参数设置,最好根据芯片手册以及自己的需求进行设置。

4.Clock时钟树配置

根据F407芯片手册,处理器最大时钟为168MHz,根据需求我们选择外部晶振时钟为8MHz,然后在cubeMX界面上完成工程时钟书树的配置,结果如下,我们配置外部时钟为8MHz,分频系数为8,倍频系数为320,处理器的时钟为160MHz(不超过168MHz),APB1分频系数为4,APB2分频系数为2,得出APB1为40MHz,APB2为80MHz,具体设置如下所示。

注意在配置外部晶振时,要先Pinout引脚分配界面上,完成RCC配置,并在HSE外部高速时钟源上选择Crystal/Ceramic Resonator外部晶振模式。

5.工程管理ProjectManage

进入工程管理页面Project Manage,如下所示。

1.项目工程配置

在工程管理Project Manage页面,选择Project选项,在里面填写工程名称、存放目录、开发环境、堆栈大小、固件包等等信息,具体设置如下所示。

2.代码生成配置

在工程管理Project Manage页面,选择Code Generator选项,完成生成工程代码的一些功能配置,具体设置如下所示。

3.代码生成配置

在工程管理Project Manage页面,选择Advanced Settings选项,可以查看之前的设置生成的HAL驱动文件、以及使用到时钟、GPIO引脚、通讯接口或外设功能初始化函数,具体设置如下所示。

至此,已完成新建工程所需全部配置。

三、生成工程

处理器芯片配置界面,选择GENERATE CODE用来生成工程代码,如下所示。

点击生成工程代码按钮后,会弹出如下选项,根据自己的习惯选择即可。


总结

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

下面提供的代码,基于STM32F407ZGT芯片编写,可直接在原子开发板上运行,也可运行在各工程项目上,但需要注意各接口以及相应的引脚应和原子开发板上保持一致。相应的代码链接:单片机STM32F407-Case程序代码例程-CSDN文库

### 使用 STM32CubeMX 创建 STM32F405 工程项目 #### 启动 STM32CubeMX创建工程 启动 STM32CubeMX 应用程序,进入主界面后选择 "New Project" 来创建一个新的工程项目[^1]。 #### 选择目标微控制器 在弹出的新建项目窗口中,在 Part Number 搜索栏内输入 `STM32F405` ,从显示的结果列表里找到确切的目标器件型号并双击选中。这一步骤确保选择了正确的硬件平台作为开发的基础[^4]。 #### 配置时钟树和其他外设 一旦选定 MCU 型号之后,可以通过左侧菜单访问不同的配置选项卡来调整系统的各个部分。对于大多数应用来说,默认的时钟设置可能已经足够;然而如果需要更精确控制性能,则可以进一步优化时钟配置。此外还可以在此阶段启用必要的外设功能,比如 GPIO、UART 或者 SPI 接口等。 #### 设置GPIO端口以实现基本I/O操作 为了验证最小系统工作正常,通常会先尝试简单的 LED 控制实验。此时可以在 Pinout & Configuration 页面下拉找到相应的引脚,并将其模式设定为 GPIO_Output 类型,从而能够通过软件编程驱动外部连接的小灯泡闪烁。 #### 中断和服务例程配置 当涉及到事件触发机制的应用场景时,如按键检测或数据接收处理,就需要开启特定外设关联的中断服务函数。例如要激活 USART2 的发送完成中断,需前往 NVIC (Nested Vectored Interrupt Controller) 表格勾选对应的条目,并适当调节其抢占级别和响应子优先级[^5]。 #### 生成功成代码框架 完成上述所有必要项的选择与定制以后,切换至 Project Manager 标签页指定输出路径以及 IDE/Toolchain 组合形式——这里假设采用的是 STM32CubeIDE 和 GNU ARM Embedded Toolchain 。最后点击 “Generate Code” 即可自动生成初始化源码文件夹结构供后续编辑完善逻辑细节之用[^2]。 ```bash # 进入生成的项目目录 cd YourProjectName_IAR # 如果使用命令行构建则执行如下指令(针对Makefile) make all ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值