【stm32】新建stm32标准库函数工程

新建stm32标准库函数工程

官方提供的stm32标准外设库文件所包含的内容介绍:

一.工程必要文件创建

前提:先通过keil新建一个项目工程

1.在新建工程的文件夹下新建【startup】文件夹,其余为新建工程自动生成的文件

2.在标准外设库文件夹下找到以下文件将其拷贝到工程中新建的【start】文件夹下

  • stm32启动文件,启动文件的选择稍后介绍

  • stm32f10x.h:stm32外设寄存器描述文件,描述stm32有哪些寄存器和寄存器所对应的地址

  • system_stm32f10x.c和system_stm32f10x.h:这个文件的作用是用来配置时钟,stm32f103主频72MHZ就是这两个文件配置的

  • core_cm3.c和core_cm3.h:内核寄存器描述文件(stm32是由内核和内核外围的设备组成的,内核寄存器描述和外围设备的描述文件不是在一起的,所以需要添加此文件)

  • 工程的必要文件拷贝完成,如下

  • 把以上文件添加到keill工程中,将组名称改为【start】,双击或右键选择添加存在的文件,找到刚刚添加到【start】文件夹的文件,将以下文件选择并添加,如下

  • 在工程选项里添加【start】文件夹路径,工程才可以找到此文件夹下的头文件路径

二、新建main函数

1.在项目工程文件夹先新建【User】文件夹

2.在keil中添加组,名称为【User】,并在组内添加main.c文件,测试第一步添加的工程必要文件是否成功,出现 0error 0warning 说明添加成功

注意:若是使用寄存器开发,那么工程配置已经完成,下面介绍配置库函数

三、添加库函数文件

1.找到标准外设库驱动的文件夹下

2.将头文件和源文件都复制到项目工程中新建的【Library】文件夹下

3.在keil中添加组并将库函数文件添加进去

四、补充User文件夹下的文件

1.在标准外设库文件夹中【template】文件夹下将以下文件存放到【User】目录下,并将这3个文件添加进keil中。
\qquad stm32f10x_conf.h:配置库函数头文件的包含关系
\qquad stm32f10x_it.c和stm32f10x_it.h:存放中断函数

2.在keil中添加宏定义,将"stm32f10x.h"中的宏定义"USE_STDPERIPH_DRIVER"复制到工程选项中,需要定义这个宏定义才能使用标准外设库,也就是库函数,再将其余文件夹头文件路径一起添加进去,此时基于库函数的工程就建好了

五、工程启动文件选择

STM32F1系列的型号分类和启动文件的选取:

工程架构:

PS:建文件夹没有固定的限制,可以自定义创建

后续需要添加各外设驱动文件时,可按照以上方法进行添加

相关推荐
szxinmai主板定制专家3 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
HQB20266 小时前
屹晶微电子 EG1130|2‑24V 输入 / 最高 28V 输出 内置 MOS 异步升压 DC‑DC|SOT23‑6|摄像头 / 车充 / 电池充电电源
嵌入式硬件·硬件工程
泛凡(Linyongui)7 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
十年磨一剑~8 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件
糖糖单片机设计9 小时前
基于单片机的热水器节能控制系统
单片机·嵌入式硬件
数字新视界9 小时前
数字孪生技术赋能智能化转型与创新实践
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
HQB202610 小时前
屹晶微电子 EG1195|10‑120V/10A+ 外置 MOS 异步降压控制器|ESOP‑8|电动车转换器 / 快充 / 工业电源
嵌入式硬件·硬件工程
不悔哥11 小时前
开源LineageOS:旧手机刷上开源系统
嵌入式硬件·智能手机·开源
服务器硬件项目经理11 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
一次调频AGCAVC12 小时前
一次调频系统控制柜的组成及一次调频装置主机功能详述
人工智能·嵌入式硬件