文档介绍:STM32 学****笔记(一) ---- 系统时钟 2009-09-18 01:40 拿到 DX32 板后,我依照学****8位单片机的经验,准备先把 STM32 的相关寄存器配置搞清楚下。可是当我打开 STM32 的 DS 后,才发现它的寄存器比 8位机不知多了多少倍,估计有几十上百个吧。。。这得记得猴年马月啊?幸好, ST 公司每款 MCU 都有相对应的库函数。嗯,对于我这种还没入门的人来说,有库函数那简直就是鸟枪换大炮啊。。当然是在不求甚解的情况下。。。呵呵。---------------------------------------------------------------------------- ------------------------------------------------------- 以下为本人参考 STM32 官方库( 版)及 DATASHEET 的理解,如有错误, 还请不吝指点,谢谢! ---------------------------------------------------------------------------- ------------------------------------------------------- STM32 的系统时钟来源可分为三个: HSI( 高速内部时钟)、 HSE (高速外部时钟)、 PLL (经 PLL 倍频后的时钟信号)。在设置系统时钟时,要先重置下 RCC->CR 及 RCC->CFGR 寄存器, 具体可参照 STM32 的官方库,里面每个步骤都有详细说明的。下面大概地说一下关于系统时钟选择的设置: 1)以 HSI 作为系统时钟来源: RCC->CFGR [1:0] SW=00 ---------------------------------------------------------------------------- ------------------------------------------------------- 2) )以 HSE 作为系统时钟来源: RCC->CFGR [1:0] SW=01 ---------------------------------------------------------------------------- ------------------------------------------------------- 3)以 PLL 作为系统时钟来源: (分三种时钟信号输入) A、以 HSI 2分频作为 PLL 时钟输入: RCC->CFGR [1:0] SW=10 RCC->CFGR [1 6] PLLSRC=0 ---------------------------------------------------------------------------- ------------------------------------------------------- B、以 HSE 全速作为 PLL 时钟输入: RCC->CFGR [1:0] SW=1