标准库c++_STM32⼊门系列-库⽬录及⽂件介绍
下⾯简单介绍各个⽂件件及⽂件的作⽤。
_htmresc ⽂件夹:存放ST公司的LOGO图标,这个⽂件夹不⽤管。
Libraries ⽂件夹:在这个⽂件夹内有两个⼦⽬录,CMSIS⽂件夹⽤于存放符合CMSIS标准的⽂件,包括STM32启动⽂件、ARM Cortex内核⽂件和对应外设头⽂件stm32f10x.h。STM32F10x_StdPeriph_Driver⽂件夹⽤于存放STM32外设驱动⽂件,inc⽬录⽤于存放外设的头⽂件,src⽬录⽤于存放外设的源⽂件。从这些源⽂件的命名就可以知道对应⽂件的功能,⽐如stm32f10x_gpio.c ⽂件,包含了对STM32的GPIO寄存器的操作函数等,如果要对STM32 GPIO操作可以调⽤这个⽂件内的函数,但是要记得添加对应的头
⽂件,如stm32f10x_gpio.h。此⽂件夹内⽂件在后⾯创建库函数模板的时候会重点使⽤。
Project⽂件夹:此⽂件夹下有2个⽬录,STM32F10x_StdPeriph_Examples⽂件夹存放的是ST公司提供的外设驱动例程,在开发过程中可以借鉴这些例程快速构建⾃⼰的外设驱动。有时间⼤家可以看看,⾥⾯的编程思路对我们还是很有帮助的。
STM32F10x_StdPeriph_Templates⽂件夹存放的是官⽅的固件库⼯程模板, 我们后⾯创建⾃⼰⼯程模板的时候就需要复制此⽂件夹内的⼏个⽂件。
Utilities⽂件夹:此⽂件夹是ST官⽅评估板的⼀些源⽂件,这⾥不需要管。
固件库⽂件夹根⽬录下有⼀个stm32f10x_stdperiph_lib_um.chm⽂件,这个⽂件是固件库的帮助⽂档,可以直接双击打开。这个⽂档对于后⾯学习库函数是⾮常有帮助的, 只不过这⾥只有英⽂版的, 但是⾥⾯的英⽂都很好理解,如果学习过程中有不明⽩的单词,都可以通过百度翻译等软件查询。
⽂件介绍
在介绍库⽂件之前先看下它们⽂件之间的关系,如下图所⽰。
core_cm3.h ⽂件位于“STM32 最新固件库v3.5LibrariesCMSISCM3CoreSupport”⽬录下,说明此⽂件属于CMSIS标准⽂件,是⽤来提供进⼊M3内核的接⼝⽂件,属于CMSIS的核⼼⽂件,由ARM提供。对于所有M3内核的芯⽚来说这个⽂件都是相同的,不需要我们修改。
stm32f10x.h 、system_stm32f10x.h和system_stm32f10x.c⽂件存放在“STM32最新固件库
v3.5LibrariesCMSISCM3DeviceSupportSTSTM32F10x”⽬录下,system_stm32f10x.h是⽚上外设接⼊
层系统头⽂件。主要是申明设置系统及总线时钟相关的函数。与其对应的源⽂件是system_stm32f10x.c。这个⽂件⾥⾯
有⼀个⾮常重要的SystemInit()函数申明,这个函数在我们系统启动的时候都会调⽤,⽤来设置系统的整个系统和总线时钟。⽽
stm32f10x.h是STM32F10x的头⽂件,类似于51单⽚机的reg.51,在开发STM32F10x程序的时候基本上都会调⽤这个头⽂件,可见其重要性。此⽂件内部封装了STM32的总线、内存和外设寄存器等,同时该⽂件还包含了⼀些时钟相关的定义和中断相关定义等。
stm32f10x_ppp.c⽂件是STM32外设的驱动源⽂件, ⽐如stm32f10x_gpio.c⽂件。 ⾥⾯已经封装好操作GPIO外设底层的内容, 提供给我们使⽤的是⼀些API函数。stm32f10x_ppp.h就是对应的头⽂件。还有stm32f10x_rcc.c、misc.c和misc.h⽂件他们都是存放
在“STM32最新固件库v3.5LibrariesSTM32F10x_StdPeriph_Driver”内。
stm32f10x_it.c⽂件⽤于存放中断函数,不过中断函数也可以放在其他⼯程⽂件内,所以这个⽂件很少操作,对应的stm32f10x_it.h⽂件是它的头⽂件。 stm32f10x_conf.h⽂件是配置⽂件,⽤于删减我们使⽤的外设头⽂件,⽐如使⽤GPIO外设,那么就需要调⽤
system的头文件
stm32f10x_gpio.h头⽂件,如果不使⽤GPIO外设,可以将此头⽂件注释掉,⼀般情况下我们不会对这个配置⽂件操作,因为如果不使⽤⼀个外设,可以在⼯程内不调⽤即可。这⼏个⽂件存在“STM32 最新固件库v3.5ProjectSTM32F10x_StdPeriph_Template”内。Application.c⽂件⽤于存放⽤户编写的应⽤程序,⽂件名可以根据个⼈爱好命名。我们通常会命名为main.c,表⽰存放我们的主函数代码。
在后⾯创建⼯程模板时,添加这些⽂件还不够,还要将STM32的启动⽂件添加进来,否则系统不能启动。ST固件库提供的启动⽂件有很多,需根据使⽤的STM32芯⽚来选择,若开发板上使⽤的是⾼容量的STM32F1 芯⽚,选择startup_stm32f10x_hd.s。启动⽂件startup_stm32f10x_hd.s存放在“STM32最新固件库v3.5LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm”内。
物联⽹开发 - 直播课程 - 创客学院w ww.makeru