RCC_APB1PeriphclockCmd(RCC_APB1Periph_ALL,DISABLE)使用的同时tim2z中断触发
时间: 2024-02-17 10:48:25 浏览: 145
RCC_APB1PeriphClockCmd是STM32的库函数,用于控制外设总线上的时钟。RCC_APB1Periph_ALL表示关闭APB1总线上的所有时钟,DISABLE表示将时钟关闭。tim2z中断触发可能是指TIM2的中断触发,在使用TIM2时需要先开启TIM2的时钟,否则无法正常工作。如果执行了RCC_APB1PeriphClockCmd(RCC_APB1Periph_ALL,DISABLE),则APB1总线上的所有时钟都会被关闭,包括TIM2的时钟,此时TIM2就无法正常工作,也就无法触发中断。因此,在使用TIM2中断时,需要先开启TIM2的时钟,例如使用RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE)来开启TIM2的时钟。
相关问题
在tim2中断处理程序中使用RCC_APB1PeriphclockCmd(RCC_APB1Periph_ALL,DISABLE
RCC_APB1PeriphClockCmd() 函数是用来开启或关闭 APB1 总线上的外设时钟的。在 TIM2 中断处理程序中使用 RCC_APB1PeriphClockCmd(RCC_APB1Periph_ALL, DISABLE) 函数可以关闭 APB1 总线上的所有外设时钟,以节省系统资源,从而提高系统性能和稳定性。
但需要注意的是,如果需要使用 APB1 总线上的某些外设,那么在使用完毕之后需要重新开启相应的外设时钟。因此,在关闭 APB1 总线上的所有外设时钟之前,需要先了解系统中哪些外设是必需的,哪些是可以暂时关闭的,以避免影响系统功能的正常运行。
RCC_APB1PeriphClockCmd和RCC_APB2PeriphClockCmd有什么区别
`RCC_APB1PeriphClockCmd` 和 `RCC_APB2PeriphClockCmd` 是STM32微控制器(如F4系列)上常用的函数,用于控制高级定时器、串口、GPIO等外设的时钟开关。它们的区别在于:
1. **作用域**:
- `RCC_APB1PeriphClockCmd`: 这个函数主要用于设置APB1总线(通常包含像USART、I2C、SPI以及GPIOA至GPIOE的端口)的时钟。APB1是第二级总线,速度相对较快。
2. **涉及的外设**:
- 当你需要控制APB1总线上某一特定外设的时钟开关闭合时,例如开启某个串口的时钟,就需要用到这个函数。
3. **对应外设**:
- APB1一般连接一些常用而对实时性能需求不高的外设。
相比之下,`RCC_APB2PeriphClockCmd` 控制的是 APB2 总线,它通常包括定时器(如TIMx)、CAN、USB等设备,这些外设对于系统的实时性和通信性能要求较高。
**示例用法**:
```c
// 开启APB1上USART1的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART1, ENABLE);
// 关闭APB2上TIM2的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM2, DISABLE);
```
阅读全文