1 概述
时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。
时钟分为内部时钟和外部时钟。
2 相关寄存器
CLK_CKDIVR(系统时钟分频寄存器) 配置分频系数
CLK_ICKCR (内部时钟寄存器) 配置内部高速时钟以及内部低速时钟使能
CLK_PCKENR1、CLK_PCKENR2(外设时钟) 配置相应外设时钟
CLK_CCOR (可配置时钟输出寄存器) 配置时钟输出到某个引脚
CLK_ECKCR (外部时钟寄存器) 配置外部高速时钟以及外部低速时钟使能
CLK_SCSR (系统时钟状态寄存器) 查看系统时钟源
3 例:配置时钟输出
- 查看数据手册引脚分配,找到 CCO 被映射引脚,配置 CCO 引脚为推挽输出
- 查看库函数帮助文档,找到 CCO 相关库函数,选择 CCO 时钟源和分频系数
- 开启引脚复用功能并使能 CCO
Note
-
四个时钟源可以和可编程的预分配器一起使用,以驱动系统时钟以被应用到内核、内存和外设。
-
复位后,设备默认重置时钟为HSI/8。可编程的预分频器和时钟源能被改变在代码开始执行时。
|
优点 |
缺点 |
石英晶体振荡器 |
震荡频率精度比较高,温度漂移小,外接信号发生器的误差也很小 |
在起振开始时信号是最不稳定的,这时候需要让单片机略过这段不稳定的时间,默认情况下,在时钟信号释放之前插入一个振荡器周期的延迟。需要设定晶体稳定时间选项OPT5中的选项参数。 |
RC振荡器 |
启动快和所需启动稳定时间比较短 |
产生的时钟精度比较低,而且振荡频率很容易受供电电压、工作环境温度等影响导致频率漂移 |