STM32工程建立指南:手把手教你使用标准库
一.了解固件库文件
1.各个文件的作用
1.第一个_htmresc是图片没什莫用
2.第二个Libraries里面就是库函数的文件了,我们之后建工程时会用到
3.Utilities 是官方评估版的相关历程。这个评估板就是官芳用M32做的一个小电路板。用来测评STM32的
4.project是官方提供的工程示例和模板,以后使用库函数的时候可以参考一下
5.接下来后面两个文件,一个是库函数的发布文档。一个是使用手册
2.建立标准库文件的过程
2.1创建工程文件夹
2.2打开Keil
2.3 在工程文件夹下面再创一个文件夹
2.4 工程名称
2.5 选择型号
3.添加工程必要文件
3.1 固件库选择
3.2 启动文件
3.3 文件描述
1.stm32f10.h是STM32的外设寄存器描述文件,就和51单片机的头文件REGX52.H一样,用来描述STM32有哪些寄存器和它对应的地址的。
2.两个system文件主要是来配置时钟的。
3.4 内核寄存器
把文件复制到Start下面去
3.5在Keil中配置Start
3.6 添加头文件路径
4.User文件
4.1 添加User文件组
选择User文件夹
4.2 目前没有添加库函数,还是基于寄存器开发的过程
点击扳手
魔术棒
4.3 寄存器配置(GPIO都是APB2的外设)
4.3.1 查手册 配置GPIOC的时钟
四个一分组,所以可以为:0x0000 0010
需要配置PC13口的模式,我们可以找到端口配置高寄存器GPIOx_CRH这个x可以是A到E的任何一个字母。
可以配置为:0x0030 0000
4.3.2 配置输出模式
#include "stm32f10x.h" // Device header
int main(void){
RCC->APB2ENR=0x00000010;//配置GPIO的APB2寄存器
GPIOC->CRH=0x00300000;//配置高寄存器的PC13的寄存器
GPIOC->ODR=0x00000000;//配置输出模式ODR
while(1){
}
}
5.配置 库函数
5.1 建立库文件
5.2 库文件的添加
粘贴到Libaray文件夹下面
5.3 添加包含库函数头文件,包含中断的函数文件
放在User下面
5.4 最重要的一步(包含标准外设库)
记得把剩下的头文件路径加上去,最后编译一下。
5.5 配置使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//开时钟
5.6 配置引脚
#include "stm32f10x.h" // Device header
int main(void){
// RCC->APB2ENR=0x00000010;//配置GPIO的APB2寄存器
// GPIOC->CRH=0x00300000;//配置高寄存器的PC13的寄存器
// GPIOC->ODR=0x00000000;//配置输出模式ODR
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//开时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出 ;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);//配置端口模式
//GPIO_SetBits(GPIOC,GPIO_Pin_13);//高电平
GPIO_ResetBits(GPIOB,GPIO_Pin_8);//低电平
while(1){
}
}
GPIO_Init();
5.6.1 配置模式:我们选择推挽输出。
5.6.2 配置引脚,要结合原理图来配置。
5.6.3 配置速度。
6.讲一讲启动文件
启动文件中的复位中断,还有点用main函数。
作者:程序加冰