之前点亮LED按照野火的教程是由直接读取寄存器地址,到寄存器映射到封装结构体,再到搭建库函数雏形的过程,对于这一方式有所了解,即可以使用官方固件库点亮LED了。
首先按照野火第十一课《新建工程—固件库版本》,搭建一个库函数模板,这一步照着上课时的教程一步步来,之后就可以直接复制模板了,我们自己创建的文件都放在User文件夹里。
首先User文件夹创建一个文件夹led,里面创建两个文件:bsp_led.c & bsp_led.h
(BSP:Board Support Package 板级支持包 由开发者编写,只兼容特定开发板)
bsp_led.c:定义初始化函数。
bsp_led.h:对于硬件的宏定义(提高可移植性)、其他宏定义、bsp_led.c中函数的声明,这样使用其他板子时可以只修改其中的接口定义。
在 bsp_led.c 创建一个函数用来初始化时钟、一个函数用来初始化GPIO:
而初始化时钟和初始化GPIO的函数均是官方固件库写好的,直接引用即可,看固件库文件的函数申明部分就可以知道外设有多少函数,例如tm32f10x_gpio.h包含了全部的gpio函数申明: