1.STM32固件库的结构图如下。从图中可以看出,我们在配置STM32的固件库时需要配置用户层、CMSIS层的文件。配置库文件即正确的配置这些函数的文件。CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司提供的微控制器软件接口标准,所有使用ARM内核的芯片都必须遵守此标准。
每个固件库文件的内容都在图中有说明,大概了解即可。STM32的固件库文件可以在官网上下载。
2.配置一个工程模板:
(1)选择自己需要的固件库文件,本文中使用的STM32F10x系列:
主要是需要这两个文件夹中的文件:
(2)新建文件夹Template,并创建如下几个文件夹。
Libraries中存放的是CMSIS与片上外设文件。
Output是输出文件。Project是项目文件。这两个文件暂时不需要配置。
User中是和用户相关的文件,主要是main文件、中断文件和是stm32f10x_conf.h文件。
(2)将Libraries中的部分文件拷贝到自己创建的CMSIS中:
(3)将下面文件夹中的文件拷贝到自己创建的User目录下:
至此一个工程模板便创建完成,此后新建工程时,便可以利用这个工程模板构建固件库。
3.利用工程模板创建一个点亮LED的新工程:
(1) 复制一份工程模板作为作为新工程的初始文件。
(2)打开keil,新建工程文件,工程文件放在project文件夹中:
(3).将工程模板中的文件添加进来
(4).添加头文件的路径:
(5).配置编译器的相关定义:
4.代码:
#include "stm32f10x.h"
int main(void)
{
//¶¨Òå¶Ë¿ÚµÄ½á¹¹Ìå:
GPIO_InitTypeDef GPIO_InitStruct;
//1.ʹÄÜʱÖÓ£º
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOA,ENABLE);
//2.ÅäÖö˿ڽṹÌåµÄÏà¹ØÐÅÏ¢£º
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStruct);
//3.ʹÄÜÒý½Å
while(1)
{
GPIO_ResetBits(GPIOD ,GPIO_Pin_2);
}
}
5.运行结果:
6.总结:
配置库文件就是芯片公司和ARM提供的一些库文件正确的添加到字节的工程中。通过创建一个工程模板,此后,所有的工程都可以利用工程模板快速的创建。
点亮LED灯的步骤:使能时钟、配置端口信息、引脚输出电平。