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

【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 */
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值