【STM32CubeMX】教程一_创建工程/界面介绍

该教程详细介绍了如何使用STM32CubeMX创建基于HAL库的MDK工程,包括选择STM32F103C8T6芯片,配置时钟源和外设(如GPIO),以及在VSCode中打开和管理工程的方法。同时,讨论了工程输出的三种方式及其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【STM32CubeMX】教程一_创建工程/界面介绍


前言

本篇博客会详细介绍STM32cubeMX的基本使用和如何新建HAL库版本的MDK工程。
使用硬件:STM32F103C8T6
使用软件:STM32CubeMX、keil5(MDK)、VSCode


提示:以下是本篇文章正文内容

一、下载固件包

在这里插入图片描述

二、新建工程/界面描述


1. 创建工程

具体流程如下:

  • 搜索mcu型号
  • 选择芯片
  • 创建工程

在这里插入图片描述
错误:图中package应该是芯片封装。


2.配置

1.界面介绍

在这里插入图片描述
首先介绍图形界面及其功能:
1、外设资源,提供两种展现方式

  • Categories 种类选择
    将mcu的外设分类排列,便于用户选择
  • A->Z
    按照字母顺序将外设排列,便于用户查找

2、预览

  • 引脚预览:点击引脚即可选择设置引脚的具体功能
    在这里插入图片描述
  • 系统预览:观察各外设配置情况
    在这里插入图片描述

3、外设配置
以GPIO为例介绍,引脚预览设置脚口功能,外设配置区域初始化,设置具体参数
在这里插入图片描述

2.时钟等系统配置

  • 配置时钟源,这里选择外部时钟:Crystal/Ceramic Resonator
    在这里插入图片描述
  • 设置debug,STM32CubeMX默认关闭debug.这里我们选择四线JTAG即可
    在这里插入图片描述
  • 配置系统时钟数,设置系统工作频率
    在这里插入图片描述
    时钟树这里不多介绍,自行查找网络资料学习

3.配置外设

以配置GPIO为例,电路图如下
在这里插入图片描述

  • 我们需要将PB9/PB8设置为低电平输出。
  • 在这里插入图片描述

三、输出工程

3.1

在这里插入图片描述
这里我们选择MDK,V5版本即可
切记工程目录不可以有中文字符

3.2

在这里插入图片描述


分析:

1、将HAL库的所有.C和.H都复制到所建工程中

优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便
缺点: 体积大,编译时间长(很长)

2、只复制所需要的.C和.H

优点:体积相对小,编译时间短,并且工程可复制拷贝

缺点: 新增外设时需要重新用STM32CubeMX导入

3、不复制文件,直接从软件包存放位置导入.C和.H

优点:体积小,比较节约硬盘空间

缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径


三种方式任选一个即可,鉴于MDK编译速度较慢,推荐选择第二种

3.3

点击 GENERATE CODE 生成工程

Alt

3.4 使用VSCode打开工程

  • vscode提前安装好 keil assiant插件,可以使用vscode编译下载mdk项目
  • 用户代码请放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */之间,否则再次生成工程时会被删除。
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
用户头文件区
/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
用户 typedf区
/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
用户宏定义区
/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

/* USER CODE BEGIN PV */
用户变量区
/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */
用户函数区
/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
用户代码区
/* USER CODE END 0 */
### STM32CubeMX Fw_F1 固件配置教程及下载 #### 、固件简介 STM32Cube_FW_F1 是 STMicroelectronics 官方提供的用于 STM32F1 系列微控制器的固件库。它包含了外设驱动程序、中间件以及示例代码,旨在简化开发流程并提高效率。 当使用 STM32CubeMX 工具生成项目时,可能会因为缺少特定版本的固件库而出现错误提示,例如 “The Firmware Package (STM32Cube FW_F1 V1.8.6)” 或其他类似消息[^1]。这通常意味着本地未安装所需的固件库或者其路径设置不正确。 #### 二、解决方案概述 为了顺利生成代码,需确保已正确安装对应版本的 STM32Cube_FW_F1 固件库,并将其关联到 STM32CubeMX 中。以下是具体操作方法: 1. **确认所需固件版本** - 查看报错信息中的固件版本号(如 `FW_F1 V1.8.6`),以此为目标寻找匹配资源。 2. **获取固件库文件** - 可通过官方渠道或可信第三方链接下载目标固件压缩包。例如,在引用中提到过的个百度网盘地址提供了 STM32Cube_FW_F1_V1.8.5 的下载服务[^2]: ``` 链接:https://pan.baidu.com/s/1W5FEnY3obYX0CYXJZDVVdA?pwd=6b5v 提取码:6b5v ``` - 如果需要更高版本或其他系列(如 F4)的固件,则建议访问 [ST 官方网站](https://www.st.com/) 进行查询和下载。 3. **解压至指定目录** - 将下载好的 ZIP 文件解压后放置在个易于管理的位置,默认情况下会创建名为 `STM32Cube_FW_F1_Vx.x.x` 的文件夹结构。 - 推荐保存位置为 C:\Users\<用户名>\STM32Cube\Repo\ 4. **更新STM32CubeMX配置** - 打开 STM32CubeMX 软件; - 前往菜单栏选择 Tools -> Manage Embedded Software Packages…; - 在弹窗界面找到对应的 F1 系列条目,点击右侧按钮浏览定位之前提取出来的固件所在路径; - 应用更改后再试次生成代码功能应该能够正常运作了. #### 三、验证过程 完成上述步骤之后重新启动 STM32CubeMX 并加载原有工程尝试再次执行 Generate Code 功能来检验问题是否得到彻底解决。如果没有新的警告则表明环境搭建完毕可以继续后续工作。 ```python # 示例 Python 脚本展示如何自动化处理某些任务 import os def check_firmware_directory(): firmware_path = r"C:\Users\User\STM32Cube\Repo" if not os.path.exists(firmware_path): print("Firmware directory does not exist.") else: directories = os.listdir(firmware_path) for dir_name in directories: if 'STM32Cube_FW' in dir_name: print(f"Firmware found: {dir_name}") check_firmware_directory() ``` --- ####
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值