GPIO相关函数
STM32的时钟函数
RCC_APB1ReriphClockCmd
RCC_APB1PeriphClockCmd
函数是用于控制STM32微控制器中APB1(Advanced Peripheral Bus 1)总线上外设时钟的开启或关闭的。这个函数是STM32标准外设库(Standard Peripheral Library)或者HAL库(Hardware Abstraction Layer)中的一个函数,用于配置和管理微控制器的硬件资源。
在STM32微控制器中,时钟系统是非常关键的,它负责为微控制器的CPU核心、外设等提供工作时钟。APB1和APB2是两条外设总线,它们连接着微控制器的各种外设,如定时器、串口、SPI等。APB1和APB2的总线速度不同,APB1的速度较低,APB2的速度较高。
RCC_APB1PeriphClockCmd
函数的主要作用是控制连接到APB1总线上的外设的时钟。通过这个函数,用户可以开启或关闭特定外设的时钟,以达到节能或者根据应用需求动态管理硬件资源的目的。
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
RCC_APB1Periph
:这是一个或多个APB1总线上的外设的标识符,通过宏定义指定,表示要控制时钟的外设。APB1 上面连接的是低速外设,包括电源接口、 备份接口、CAN、USB、I2C1、I2C2、UART2、UART3 等等
NewState
:这是一个枚举值,表示要执行的操作,ENABLE
表示开启时钟,DISABLE
表示关闭时钟。
RCC_APB2ReriphClockCmd
RCC_APB2PeriphClockCmd
函数是STM32微控制器固件库中的一个函数,用于启用或禁用高速APB2(APB2总线)上的外设时钟。这个函数对于管理STM32微控制器上的外设时钟非常重要,因为只有在相应的时钟被启用后,外设才能正常工作。
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
-
uint32_t RCC_APB2Periph
:这是一个32位的无符号整数,用于指定要启用或禁用的APB2总线上的外设。STM32的固件库定义了一系列的宏来表示不同的外设,例如RCC_APB2Periph_GPIOA
表示GPIOA端口的时钟,RCC_APB2Periph_SPI1
表示SPI1接口的时钟等。可以通过逻辑或操作符|
组合多个外设来同时启用或禁用它们的时钟。APB2 上面连接的是高速外设包 括 UART1、SPI1、Timer1、ADC1、ADC2、所有普通 IO 口(PA~PE)、第二功能 IO 口等。对应外设的选择可以参考下图。