从STM32固件库开始
STM32与一般单片机/ARM7最大的不同,则是它的寄存器特别多,而使用者又很难全部记下,因此,ST官方则根据规范提供了一套库函数源码,通过直接操作库函数达到对寄存器操作的目的。
固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。
在以前的51单片机开发中,我们常常直接对寄存器进行操作,如控制I/O口状态:
P0 = 0x11;
而在STM32开发中,同样对寄存器操作:
GPIOx->BRR = 0x0011;
控制BRR寄存器实现电平的控制,就有一个官方封装的函数,如下:
void GPIO_ResetBits(GPIO_TypeDef * GPIO,uint16_t GPIO_Pin)
{
GPIO->BRR = GPIO_Pin;
}
此时,无需直接操作寄存器BRR,只需要知道,如何使用GPIO_ResetBits()函数就可以了。