RCC_AHB1PeriphClockCmd 和RCC_APB2PeriphClockCmd
时间: 2023-08-04 17:07:28 浏览: 506
RCC_AHB1PeriphClockCmd和RCC_APB2PeriphClockCmd是用于STM32系列微控制器的RCC(Reset and Clock Control)模块的函数。
RCC_AHB1PeriphClockCmd函数用于使能或禁用AHB1总线上的外设时钟。AHB1总线上的外设包括GPIO端口、DMA、CRC等。函数原型如下:
```c
void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);
```
其中,RCC_AHB1Periph参数指定要使能或禁用的外设,可以使用逻辑或运算符(|)同时指定多个外设。NewState参数指定要设置的状态,可以是ENABLE(使能)或DISABLE(禁用)。
例如,要使能GPIOA和GPIOB的时钟,可以使用以下代码:
```c
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB, ENABLE);
```
RCC_APB2PeriphClockCmd函数用于使能或禁用APB2总线上的外设时钟。APB2总线上的外设包括USART、SPI、ADC等。函数原型如下:
```c
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
```
其中,RCC_APB2Periph参数指定要使能或禁用的外设,可以使用逻辑或运算符(|)同时指定多个外设。NewState参数指定要设置的状态,可以是ENABLE(使能)或DISABLE(禁用)。
例如,要使能USART1和SPI1的时钟,可以使用以下代码:
```c
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_SPI1, ENABLE);
```
需要注意的是,具体使用哪个函数取决于外设所连接的总线。AHB1总线连接的外设使用RCC_AHB1PeriphClockCmd函数,而APB2总线连接的外设使用RCC_APB2PeriphClockCmd函数。请根据具体的外设和总线类型选择适当的函数。
阅读全文