库函数开发概述
1.库函数开发步骤及总结: 库函数总结.
2.STM32库函数本质上依旧是寄存器编程,只是为了方便应用封装成了函数。所以用户的应用程序也可以绕过库函数,直接对寄存器编程,参考博客: 寄存器开发.。
寄存器编程的代码效率最高。不过,开发难度大,查阅相关手册比较多,开发效率相对低,产品周期长,可维护性较差,可移植性、阅读性差
库函数特性则与寄存器编程相反。在一些代码要求高效率的情况下,对寄存器编程是非常必要的。同时,对寄存器的学习与操作,将非常有助于我们在出错时进行程序调试。
点灯代码实现
led.c
void Led_Init(void)
{
//库函数初始化步骤1:定义一个xxx_InitTypeDef类型的初始化结构体
GPIO_InitTypeDef GPIO_InitStruct;//可goto到该结构体查看成员
//使能GPIO F组时钟,
//RCC_AHB1ENR |= (0x01<<5);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
//库函数初始化步骤2:根据使用要求,向这些初始化结构体的成员写入特定的控制参数
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9; //引脚9
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; //输出模式
GPIO_InitStruct.GPI