常见外设的时钟配置方法
- 常见外设(如 UART、SPI、I2C 等):它们通常依赖于 APB1 或 APB2 的分频,通过初始化函数即可设置其工作时钟的预分频,如
HAL_UART_Init()
中的波特率配置(在这个函数里进行分频)。 - 特殊外设(如 ADC、RTC):使用
HAL_RCCEx_PeriphCLKConfig
,因为它们的时钟源可能来自不同的时钟树分支,需要单独的配置函数来灵活选择时钟源和分频(在这个函数里进行分频)。 - ADC 的时钟确实可以来自 APB2 总线,但它并不完全依赖于 APB2 的时钟,因为 STM32 提供了一些灵活的配置选项,允许在 APB2 时钟的基础上通过分频或从不同的时钟源选择适合的频率,这样的设计可以满足 ADC 的特殊需求。这就需要用到
HAL_RCCEx_PeriphCLKConfig。