时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件。
本文主要介绍一下AT21F403的时钟配置
1、配置流程:
1.1 CRM Reset :主要是将系统时钟切换到 HICK,其余的系统时钟配置寄 存器写入默认值,待后续进行新配置参数的写入。
1.2 Clock Source Enable :与系统时钟相关的高速时钟源主要包括 HEXT 和 HICK,PLL 也是使用以上时钟源来进行倍频。需要 在配置使能 PLL 前将所使用的 PLL 参考时钟源开启并等待其稳定。外部高速时钟如采用外接有源时钟的方式时,可开启旁路模式来进行使用,采用晶振时,不能开启旁 路模式,旁路模式应在外部高速时钟源使能前进行设定,其默认情况为关闭。
1.3 PLL Configuration:PLL 配置主要包括:PLL 时钟源、PLL 倍频系数、PLL 倍频频率范围等的设置。倍频时钟公式为: PLLCLK = PLL 输入时钟 * PLL 倍频系数。
1.4 Set Bus Frequency Dicision:总线分频包含 SCLK 到 AHBCLK 分频、AHBCLK 到 APB1CLK 分频、AHBCLK 到 APB2CLK 分频。
1.5 Switch System Clock:系统时钟来源主要有三个:HICK、HEXT、PLLCLK。在切换系统时钟到如上时钟源时应提前确保对应时钟源已稳定。
1.6 Update Core Frequency:更新核心频率。在系统时钟配置完成后更新system_core_clock。这个值表示系统核心频率的参数值。
2、时钟配置示例(本人用的12M外部晶体,注意修改#define HEXT_VALUE ((uint32_t)12000000)),代码如下: