RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD, ENABLE);
时间: 2025-01-14 10:04:15 浏览: 114
启用 STM32 GPIO 时钟
为了启用 STM32 中 GPIOA, GPIOB, GPIOC 和 GPIOD 的 APB2 时钟,可以使用 RCC_APB2PeriphClockCmd
函数。此函数用于使能或失能指定的 APB2 总线上的外设时钟。
使用 RCC_APB2PeriphClockCmd
函数
该函数原型如下:
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
其中参数说明:
RCC_APB2Periph
: 需要使能或失能的外设时钟。NewState
: 设置为ENABLE
或DISABLE
来控制状态。
对于不同的 GPIO 端口,对应的宏定义分别为 RCC_APB2Periph_GPIOA
, RCC_APB2Periph_GPIOB
, RCC_APB2Periph_GPIOC
, 和 RCC_APB2Periph_GPIOD
.
具体实现代码如下所示:
#include "stm32f10x.h"
int main(void)
{
/* Enable the peripheral clocks of GPIOA, GPIOB, GPIOC and GPIOD */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD,
ENABLE);
while (1) {
// 主循环程序...
}
}
上述代码片段展示了如何通过组合多个端口的宏来一次性启动所需的所有 GPIO 时钟[^1]。
此外,在遇到类似 “RCC_APB2Periph_GPIOC is undefined”的错误时,需确保项目中已正确定义并包含了标准外设驱动库的相关头文件,并且在预处理器设置里加入了 USE_STDPERIPH_DRIVER
宏定义[^3].
相关推荐



















