7.2.1 HSE 振荡器和负载电容需要安置在离 OSC 管脚越近越好,减少时钟倾斜和时钟的稳定时间。 HSE 时钟旁路 最高 32M Hz,通过 RCC_CR 寄存器中 HSEBYP 和 HSEON 位设置。OSC_IN 通过 50%占空比的时钟信号驱动,OSC_OUT 需要保持在 Hi-Z。外部时钟信号可以是方波,正弦波和三角波,为了减少消耗,推荐使用方波。 晶体和陶瓷振荡器 1-24M Hz外部振荡器可以产生一个非常精确的时钟,用来做主时钟。 RCC_CR 寄存器中的 HSERDY 位用于指示 HSE 是否已经稳定。 7.2.2 HSI16 时钟 HSI16 可以直接用于系统时钟或者作为 PLL 输入。 HSI16 可以用于从 stop 模式或 low power 模式唤醒后,比 MSI 更小的唤醒时间。 HSI16 的启动时间比 HSE 更短。但是即使是经过校准,HSI16 的精确度也比外部振荡器低。 由于制造过程的变化,不同芯片的 RC 振荡频率会不同,每个器件都经过 ST 的校准,保证在 25℃下 1%的精确度。reset 后,出厂校准值被 load 进 RCC_ICSCR 的 HSI16CAL[7:0]。 RCC_CR 寄存器中的 HSI16RDY 位指示着 HSI16 是否已经稳定。RCC_CR 寄存器中的HSI16ON 位可以开启或者关闭 HSI16. 7.2.3 MSI clock MSI 时钟信号由内部RC 振荡器产生。频率范围由RCC_ICSCR 中的 MSIRANGE[2:0]校正。 MSI 的频率有:65.536KHz,131.072KHz,262.144KHz,524.0288KHz,1.048MHz,2.097MHz(默认值)和 4.194MHz。 MSI 时钟通常被用于复位之后的重启或者从 standby 模式唤醒的系统时钟(MSI 复位到2.097MHz)。当从停止模式唤醒后(MSI 的值不变),MSI 可以被用于系统时钟。 MSI 可以提供低成本低功耗的时钟源。在低功耗模式下,MSI 被用于唤醒时钟。 RCC_CR 寄存器中的 MSIRDY 标志位用来指示 MSI 是否已经稳定。未稳定前,MSI 时钟不输出。 RCC_CR 中 MSION 位可以用来开启和关闭 MSI。 当 HSE 失效时,MSI 可以作为备用时钟。 校准内容和 HSI 一致。 7.2.4 HSI48 由内部48MHz RC 振荡器产生,可以直接用于 USB 和 RNG 产生器。 HSI48 通过 clock recovery system,使用 LSE 或者外部信号来校准。在进入 stop 或者standby 模式后,HSI48 会停止。如果 CRS 不启用,HSI48 通过出厂配置校准。 HSI48 需要 VREFINT。 RCC_CRRCR(Clock recovery RC)中的 HSI48RDY 指示 HSI48 是否稳定。 HSI48ON 可以用来控制 ...