各个芯片厂家在提高自家芯片性能的同时也在想方设法的降低自家芯片的开发难度。开发难度降低就会减少开发的时间和金钱成本,那样芯片就会受

到开发工程师和工厂的欢迎,自然卖的就多效益就好。ST公司针对STM32系列芯片发布了开发所用的库。

STM32库包含大量的函数接口,开发者在编写程序时在库的基础上调用这些函数接口来配置STM32的寄存器,而不是开发者直接接触底层寄存器,


可以玩笑的说初学者接触寄存器相当于hard。

库是在寄存器和用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。库开发方式与直接配置寄存器方式

的区分。

本文以STM32的3.5版本的库为例,库的原始文件可以从官网下载,也可从各个论坛和资料中获得。

解压后得到文件夹如下:STM32F10x_StdPeriph_Lib_V3.5.0


STM32 连接MYSQL stm32如何连接数据库_寄存器

--库解释:

点入文件夹后出现四个文件夹:


STM32 连接MYSQL stm32如何连接数据库_html_02

编程时没用,所以可以删除。


Libraries:点入文件夹后发现两个文件夹如下:CMSIS和STM32F10x_Stdperiph_Driverhttps://www.wang1314.com/doc/topic-5441208-1.html

STM32 连接MYSQL stm32如何连接数据库_模版_03

这里边的文件都很重要,其中CMSIS的含义是:cortex microcontrollerhttps://www.wang1314.com/doc/topic-5441920-1.html

software interface standard即首字母缩写成CMSIS标准。之前和大家介绍过STM32的内核是由ARM公司设计的cortex_M3,而实际上使用此内核的芯

片不只是STM32,为了基于统一内核的芯片能够兼容(能够兼容自然对ARM公司有利),所以ARM公司和芯片厂商建立了CMSIS标准。

在路径STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS下有两个文件夹:


STM32 连接MYSQL stm32如何连接数据库_STM32 连接MYSQL_04

这两个文件夹内:

CoreSupport包含对核相关的一些函数。


STM32 连接MYSQL stm32如何连接数据库_寄存器_05

而DeviceSupport包含对外设和中断相关的一些函数。startup中包含启动文件。


STM32 连接MYSQL stm32如何连接数据库_html_06

3.5的启动文件比较之前分的更详细了,启动文件自然也就更多了。


STM32 连接MYSQL stm32如何连接数据库_模版_07

尾缀英文缩写不同,代表的含义为:

cl:互联网型产品,目前包含此功能的系列芯片有STM32F105和F107系列。


vl:超值型产品,目前包含此功能的系列芯片有STM32F100系列。


xl:超高密度型产品。目前包含此功能的系列芯片有STM32F101系列和F103系列。


ld:低密度型,flash小于64K


md:中密度型,flash为64K或128K


hd:高密度型,flash大于128K

库并没有介绍完,下面51黑会接着介绍。

库是STM32系列芯片开发的基础工具,就好比舞台。8051内核系列芯片呢,表演的节目比较简单,所以找个空地人群一围观就能表演,而STM32系

列芯片呢,功能比较复杂,就像表演大型的歌舞,需要一个灯光音响效果较好的舞台。STM32的库正是这样的舞台,但想在舞台上自由表演前,自然

也要对舞台了解了解。

--库解析:


(接着STM32(6)--库继续:)

Libraries:点入文件夹后发现两个文件夹如下:CMSIS和STM32F10x_Stdperiph_Driver


STM32 连接MYSQL stm32如何连接数据库_html_08

点入STM32F10x_Stdperiph_Driver文件夹,出现inc和src两个文件夹。


STM32 连接MYSQL stm32如何连接数据库_模版_09

src是source的缩写,是根源、本源的意思(英文缩写喜欢省略掉中间的元音子母,有时不是很好理解原来的词义。)。这里边包含了大量的.文件,

他们都是针对芯片外设(相对于CMSIS针对芯片的核来说)。而这些外设是芯片厂家自己设计时加入的,就是ST公司针对STM32每个外设而编写的函

数。


STM32 连接MYSQL stm32如何连接数据库_寄存器_10

这些.C文件的命名有很明显的规律。那就是名字都是


stm32f10x_XXX.c而这XXX所替换的部分正对于着这个文件的功能。

比如说stm32f10x_exti.c文件。exti替换了XXX,exti大家应该熟悉吧,因为楼道里总能看见发着绿光的标示EXTI,就是出口的意思。在为控制器来

说,这是中断的含义。也就是说这个stm32f10x_exti.c文件负责STM32芯片和中断相关的事情,换句话说,也就是当你用到了中断时,一定要把这个

文件加到你的工程中。还有一个叫misc.c的文件,这里边包含了外设对内核的中断向量控制器NVIC的访问函数,在配置中断时,必须把这个文件添加

到工程中。

inc是include的缩写,里边都是对应着.C文件的.H头文件。工程中用到的.C文件,就一定要把相应的.H文件也添加进去。

添加到工程里去这几个字很不爽,因为我怎么知道哪个添加哪个不添加。其实有一个很简单的方法,把两个文件夹内


的.C和.H文件全部都添加到工程里去进去。具体怎么新建工程后边会讲。

project:点入文件夹包括STM32F10x_StdPeriph_Examples和STM32F10x_StdPeriph_Template两个文件夹。


STM32 连接MYSQL stm32如何连接数据库_模版_11

可以看出两个文件夹的不同在于一个是这Examples一个Template。Examples翻译为例子,Template翻译为模版。例子和模版意思好像差不太多,举

个例子大家体会一下,六级作文例文和六级作文模版。

STM32F10x_StdPeriph_Template文件夹里主要都是这对不同编程软件的工程模版。


STM32 连接MYSQL stm32如何连接数据库_html_12

程序员可以再次基础上进行修改和继续编程,此文件夹外的几个.C和.H文件都是编程必须添加的文件,而且也是程序员需要改动的文件。

STM32F10x_StdPeriph_Examples文件点入有很多文件夹:


STM32 连接MYSQL stm32如何连接数据库_模版_13

大家会发现这个文件夹的名字和我们上边说到的代表不同外设功能的XXX相对应。这个文件夹正是ST公司针对外设的应用举例,每个外设的多种功能

都有例举,在后期自学过程很有参照意义。但这些例子不是工程形式,需要大家自己进行配置,有的也需要进行些修改。