STM32——STM32F401x系列标准库的下载+环境搭建+建工程步骤(更完整)

标准库的下载

1.STM32标准库的官网下载网站https://www.st.com/content/st_com/en.html
2.在这里插入图片描述
3.在这里插入图片描述
4.在这里插入图片描述
5.在这里插入图片描述
6.
在这里插入图片描述
7.点击之后下滑
在这里插入图片描述
8.选择自己需要的版本下载

环境搭建+建工程

大致步骤同之前我写的一篇STM32——建工程差不多,但是当时是现成的标准库文件,芯片是STM32F103系列的,下面我重写一次,芯片为STM32F401X,当然本篇文章几乎适用所有芯片
1.代码移植,根据习惯创建以下文件夹

在这里插入图片描述
2.自己路径\2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\STM32F4xx_StdPeriph_Driver
该路径下找到以下两个文件夹并拷贝到Lib文件夹中

在这里插入图片描述
3.路径:\2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm找到驱动文件,对应自己的芯片型号选择,并拷贝到Startup驱动文件夹中
在这里插入图片描述
4.路径:2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include
中找到以下两个.h文件并拷贝至User里面

在这里插入图片描述
5.路径:2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Project\STM32F4xx_StdPeriph_Templates下找到以下文件并拷贝至User
在这里插入图片描述
7.建工程打开KEIL5
在这里插入图片描述
8.进来之后勾选
在这里插入图片描述
如果不小心关闭了可以点击,勾选过后点击ok
在这里插入图片描述
9.选择单片机型号
在这里插入图片描述
在这里插入图片描述
10.Target下勾选使用微库
在这里插入图片描述
11.选择自动创建HEX文件、提示Debug信息等等
在这里插入图片描述
12.点击C/C++以下两个部分需要配置,第一个是芯片型号对应预处理的符号,根据自己的型号选择不同的预处理,如何找到自己的芯片型号对应的预处理?——路径2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Project\STM32F4xx_StdPeriph_Templates\MDK-ARM下的文件readme,打开如下显示,根据自己型号选择
在这里插入图片描述
在这里插入图片描述
接下来选择头文件路径需要选择以下路径
①…\User //用户头文件路径
②…\Lib\inc //源文件头文件路径

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.给工程中添加文件
在这里插入图片描述
创建以下文件夹——文件夹包含的文件根据自己的路径选择——点击ADD Files——把刚刚创建的所有的文件都添加到对应的文件夹中
在这里插入图片描述
14.编译代码,有如下错误的处理方法

  1. 1

.这个地方报错,把这句话屏蔽就好在这里插入图片描述
14.2重复定义的报错
#define DBGMCU_APB2_FZ_DBG_TIM1_STOP DBGMCU_APB1_FZ_DBG_TIM1_STOP
#define DBGMCU_APB2_FZ_DBG_TIM8_STOP DBGMCU_APB1_FZ_DBG_TIM8_STOP
#define DBGMCU_APB2_FZ_DBG_TIM9_STOP DBGMCU_APB1_FZ_DBG_TIM9_STOP
#define DBGMCU_APB2_FZ_DBG_TIM10_STOP DBGMCU_APB1_FZ_DBG_TIM10_STOP
#define DBGMCU_APB2_FZ_DBG_TIM11_STOP DBGMCU_APB1_FZ_DBG_TIM11_STOP
如果包含移植代码中一直警告重复定义4行内容,把那四行屏蔽了就行,如果你的代码不能屏蔽,选择工程的文件夹——右键——属性——只读文件取消——再屏蔽就好了

最后的话

之前的环境搭建和标准库都是给好的,相当于喂饭吃了,自己写的总结也不全面,经历了新的芯片选择重新搭建环境和建工程后,学到了不少,立马写下本篇笔记,对自己说少眼高手低!

### Keil 固件包下载、配置与使用教程 #### 一、Keil固件包的作用 Keil作为一款广泛应用于ARM Cortex-M系列微控制器开发的集成开发环境(IDE),其本身并不包含特定芯片的支持文件。这些支持文件通常以固件库的形式存在,用于提供针对具体型号MCU的功能实现模板和驱动函数集合[^1]。 #### 二、固件包获取途径 对于像STM32F401CCU6这样的设备而言,官方提供的标准外设库或者HAL库是最权威可靠的资源来源之一。这类库可以从STMicroelectronics官方网站直接获得,同时也能够通过第三方平台比如CSDN找到已经整理好的项目实例链接如“STM32F401CCU6空白工程-单片机文档类资源-CSDN下载”,这有助于快速搭建起基础开发框架。 另外关于Keil本身的硬件描述和支持信息,则需借助于MDK-ARM中的Device Support组件来完成加载。这部分可以通过两种主要方式进行操作——离线模式下手动导入事先准备完毕的支持包ZIP档案;亦或是利用互联网连接,在应用程序内部执行自动检索并安装相应版本的过程[^2]。 #### 三、具体实施步骤概述 尽管这里不采用传统叙述方法列举详细流程,但仍可概括几个核心要点如下: - **确定目标器件**:明确所使用的具体型号及其架构特性。 - **选取合适资料集**:依据前述分析分别取得对应厂商发行的标准API集合以及适配器定义数据组。 - **引入至工作区**:按照既定指南说明将上述两部分素材正确关联到当前编辑环境中去。 - **验证设置有效性**:创简单测试案例加以运行调试确认一切正常运作无误。 以下是基于Python伪代码形式展示的一个简易版LED闪烁控制逻辑片段供参考: ```python #include "stm32f4xx.h" void delay(int n){ while(n--); } int main(void){ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); //使能GPIO时钟 GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12; //指定引脚编号 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; //设定为输出模式 GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; //推挽输出类型 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz; //速度等级 GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; //上下拉电阻状态 GPIO_Init(GPIOD,&GPIO_InitStruct); //初始化端口D while(1){ GPIO_SetBits(GPIOD,GPIO_Pin_12); //点亮LED delay(500000); //延时一段时间 GPIO_ResetBits(GPIOD,GPIO_Pin_12); //熄灭LED delay(500000); //再次延时等待下次循环 } } ``` 以上示例展示了如何运用标准化接口完成基本I/O功能开发过程的一部分内容。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值