STM32F103学习笔记一
STM32标准库文件
Libraries:文件夹下是驱动库的源代码及启动文件
Project :文件夹下是用驱动库写的例子和工程模板
Utilities:包含了基于 ST 官方实验板的例程,不需要用到
stm32f10x_stdperiph_lib_um.chm: 库帮助文档
Libraries文件夹
CMSIS:内核库文件
STM32F10x_StdPeriph_Driver:外设库文件
CMSIS文件夹
内核相关文件
core_cm3.c:实现了操作内核外设寄存器的函数
core_cm3.h:实现了内核的寄存器映射,与stm32f10x.h对应(中包含了“stdint.h” 这个头文件,主要作用是提供一些类型定义
1. exact-width signed integer types*/
2. typedef signed char int8_t;
3. typedef signed short int int16_t;
4. typedef signed int int32_t;
5. typedef signed __int64 int64_t;
6.
7. /* exact-width unsigned integer types*/
8. typedef unsigned char uint8_t;
9. typedef unsigned short int uint16_t;
10. typedef unsigned int uint32_t;
11. typedef unsigned __int64 uint64_t;
启动文件
stm32f10x.h:实现了片上外设的所以寄存器的映射,与core_cm3.h对应
system_stm32f10x.c:文件实现了 STM32 的时钟配置,操作的是片上的 RCC 这个外设
STM32F10x_StdPeriph_Driver文件夹
src:source 的简写,每个设备外设的驱动源程序
inc:include 的简写,src相对应的外设头文件
misc.c文件:提供了外设对内核中的NVIC(中断向量控制器)的访问函数,在配置中断时,我们必须把这个文件添加到工程中
stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c 文件
文件目录:STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template
stm32f10x_it.c:专门用来编写中断服务函数
system_stm32f10x.c:包含了 STM32 芯片上电后初始化系统时钟、扩展外部存储器用的函数
stm32f10x_conf.h:被包含进 stm32f10x.h 文件,用于统一管理外设的配置头文件
库各文件间的关系
新建工程
本地工程文件夹
1.本地建文件夹
2.添加相应文件
Doc:readme.txt
Libraries:
User:
keil建工程
1.新建工程,放在Project文件夹下,名字英文
2.选择CPU型号
3.添加组文件夹并添加文件
4.配置魔术棒选项卡
(1)Target 中选中微库“ Use MicroLib”,为的是在日后编写串口驱动的时候可以使用printf 函数
(2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上
(3) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹
(4) 在 C/C++选项卡中添加处理宏及编译器编译的时候查找的头文件路径。如果头文件路径添加有误,则编译的时候会报错找不到头文件
STM32F10X_HD 宏:为了告诉 STM32 标准库,我们使用的芯片类型是 STM32型号是大容量的,使
STM32 标准库根据我们选定的芯片型号来配置
USE_STDPERIPH_DRIVER 宏:为了让 stm32f10x.h 包含 stm32f10x_conf.h 这个头文件
5.仿真器配置
6.选择CPU型号