小黑STM32F407入门小见解(二)

学习stm32系列,无论是看视频还是看书,基本都是以stm32提供的库函数为基础,进行一系列外设的配置,达到自己所需的功能。可以总结为一句话“沿着时钟树,学习库函数”。是的,stm32公司已经将芯片所需的库函数设计包装完成,我们所需要学习的就是根据需求,如何调用库函数,再而进行配置。时钟树指的则是stm32的整个时钟系统,从外部晶振到系统时钟,到AHB、APB总线,我们配置每一个外设都离不开时钟的使能。可谓“时钟是灵魂,外设是皮囊”。
学习stm32库函数来配置外设,达到我们所需要的功能,一般可以分为以下几步:
1.在我们的user文件下新建.c文件配置所需外设的库函数,如GPIO、USART、SPI等等,每一个外设stm32都为它编写了一些列函数,在STM32F4xx_StdPeriph_Driver文件下,包含了各种各样的外设函数:
小黑STM32F407入门小见解(二)
例如下图,USART串口外设的函数如下:
我们需要做的是调用所需的函数,并配置。

小黑STM32F407入门小见解(二)

2.配置库函数就要先初始化,初始化离不开配置库函数的结构体,我们需要建一个结构体变量然后根据需求去配置每一个变量,最后初始化INIT以及使能cmd。
例如我们要配置某串口,就需要先初始化GPIO、USART。
主要为以下四句,定义结构体变量、使能时钟接口,然后就可以配置结构体变量。

小黑STM32F407入门小见解(二)最后,一定要加上初始化函数和使能函数
GPIO_Init();
USART_Init();
USART_Cmd();
3.在.c文件里自己调用并配置其他函数即可。
小黑STM32F407入门小见解(二)
4.在.h文件里定义所需的宏,方便以后修改程序容易移植。
小黑STM32F407入门小见解(二)
5.在main函数调用.c的函数,实现业务功能。
小黑STM32F407入门小见解(二)
以上为学习stm32入门的小见解。