资讯动态

如何新建STM32工程

发布时间:2026/8/4 13:59:02 来源:尧图企业网站定制
如何新建STM32工程目前STM32的开发方式主要有基于寄存器的方式、基于标准库库函数的方式和基于HAL库的方式1.基于寄存器的方式用程序直接配置寄存器来达到我们想要的功能这种方式的有点是直接、效率高.但STM32的寄存器太多了这种方法不适用2.基于库函数的方式使用ST官方提供的封装好的函数通过调用这些函数来间接地配置寄存器。由于ST对寄存器封装的比较好所以这种方式既能满足对寄存器的配置对开发人员也比较友好有利于提高开发效率所以我们使用这种方式来进行学习开发3.基于HAL库的方式可以使用图形化界面快速配置STM32。这种适合老手这种方式隐藏了底层逻辑如果对STM32不熟悉不利于对水平的提高新建工程流程1.找个合适的位置新建用于存放工程的文件夹2.找到图片中的这个位置3.在上一个文件夹里再新建一个文件夹来存放本次工程4.写个工程文件的名称5.选择器件型号6.找到STM32的启动文件复制全部启动文件7.回到工程文件夹新建一个Start文件夹将复制的启动文件粘贴到里面8.回到stm32f10x.h找到如图三个文件stm32f10x.h就是STM32的外设寄存器描述文件作用是描述STM32有哪些寄存器和它对应的地址下面两个system文件是用来配置时钟的9.复制上图的三个文件粘贴到Start文件夹10.因为这个STM32是内核和内核外围的设备组成的而且寄存器的内核配置文件和外围设备的描述文件不是一起的所以我们还需要添加一个内核寄存器的描述文件找到这两个内核的寄存器描述和内核配置文件复制粘贴到Start文件夹下11.回到Keil将对应文件改名Start然后添加已经存在的文件到组里来添加这个启动文件剩下的.c和.h文件都要添加12.最后添加头文件路径把Start文件夹添加进来点击确定13.回到工程文件夹新建一个User文件夹用来放main函数回到keil里添加组改名叫User右键添加新文件创建main文件路径记得选择在User14.右键添加头文件选stm32f10c.h编写main函数编译并建立工程说明我的工程建设成功不过只是它现在还是一个基于寄存器开发的工程写个简单的代码接好DAP与STM32在keil里配置调试器点击Setting这样我们下载程序后会立马复位并执行下面这个按钮是下载按钮如果一切正常的话就会下载进STM32里配置寄存器点灯参考STM32的参考手册点灯代码%2Fimg%2Fimage-20260803010017195.pngpos_idimg-n4bcLviB-1785741870305)熄灭代码上述这种操作寄存器的方式要去不断地查手册看对应寄存器的操作流程即使是加上、|、~、^这几个运算也会导致运算麻烦容易出错的问题所以接下来我们引入库函数新建Library来存放库函数找到并 导入库函数的源文件再找到库函数的头文件复制粘贴过来其中misc.c中是内核的库函数源文件回到keil添加Library组同之前的步骤添加已存在的文件现在虽然库函数已经添加进来但还不能使用还要进行下面的操作根据上面这个路径找到这三个文件复制那个conf文件是用来配置库函数头文件的包含关系的还有个用来参数检查的函数定义这是所有库函数都需要的两个it文件是用来存放中断函数的粘贴到User目录下回到User组里把那三个文件添加进来在main.c文件的头文件进行右键打开头文件找到这个是一个条件编译意思是如果你定义了USE_STDPERIPH_DRIVER使用标准外设驱动这个字符串下面这个include conf.h文件才有效复制选中这句打开粘贴到头文件目录也要添加编译发现0错误0警告这样我们基于库函数的工程就完成了用库函数实现点灯的操作这样能看函数的定义说明补充新建工程里的启动文件选择前面的这一块不是只选了一个吗现在我们来讲讲到底怎么选根据这个表先看是什么型号再根据Flash容量的大小看看你是哪一种工程架构startup是启动文件启动文件内定义了中断向量表中断服务函数等中段服务函数中有个复位中断这个是整个程序的入口。当STM32上电复位或者按下复位键之后就会进入复位中断函数执行复位中断幻术组要做两件事情第一是调用SystemInit函数调用main函数。其他中断函数是达到触发条件后就会自动执行SystemInit文件的作用设置微控制器的启动初始化嵌入式闪存接口、锁相环、更新系统内核的时钟变量最右边的是那些文件就是外设和内核外设的寄存器描述。每个寄存器都封装了一大堆的函数给我提供了人性化的函数调用方式。至于conf文件就是包含了头文件的文件我们后面调用就只需要包含stm32f10x.h这个一个文件的头文件就可以达包含所有库函数头文件的效果更加方便我们任意调用所有库函数总结步骤1.建立工程文件夹Keil中新建工程选择型号2.工程文件夹里建立Start、Library、User等文件夹复制固件库里面的文件到工程文件夹3.工程里对应建立Start、Library、User等同名称的分组然后将文件夹内的文件添加到工程分组里4.工程选项C/CInclude Paths内声明所有包含头文件的文件夹5.工程选项C/CDefine内定义USE_STDPERIPH_DRIVER6.工程选项Debug下拉列表选择对应调试器Settings,Flash Download里勾选Reset and Runeil中新建工程选择型号2.工程文件夹里建立Start、Library、User等文件夹复制固件库里面的文件到工程文件夹3.工程里对应建立Start、Library、User等同名称的分组然后将文件夹内的文件添加到工程分组里4.工程选项C/CInclude Paths内声明所有包含头文件的文件夹5.工程选项C/CDefine内定义USE_STDPERIPH_DRIVER6.工程选项Debug下拉列表选择对应调试器Settings,Flash Download里勾选Reset and Run

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价