STM8 学习笔记5:CLK

Clock

1 概述

时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。简单来说,时钟是具有周期性的脉冲信号,如下图:
在这里插入图片描述

2 特性

  1. 复位后,设备默认重置时钟为 HSI/8,为 2MHz
  2. 内部时钟和外部时钟区别如下表:
时钟类型优点缺点
外部时钟(石英晶体振荡器)震荡频率精度比较高,温度漂移小,外接信号发生器的误差也很小在起振开始时信号是最不稳定的,这时候需要让单片机略过这段不稳定的时间,默认情况下,在时钟信号释放之前插入一个振荡器周期的延迟。需要设定晶体稳定时间选项OPT5中的选项参数。
内部时钟(RC振荡器)启动快和所需启动稳定时间比较短产生的时钟精度比较低,而且振荡频率很容易受供电电压、工作环境温度等影响导致频率漂移

3 CLK是如何工作的?(时钟框图)

3.1 STM8 时钟树简图

3.2 STM8 时钟框图

在这里插入图片描述

4 相关寄存器

  1. ​CLK_CKDIVR.CKM[2:0] 系统时钟分频寄存器(System clock prescaler)
    作用:用于配置分频系数,默认为 011:系统时钟源 8 分频
  2. CLK_ICKCR 内部时钟寄存器(Internal clock register)
    作用:用于配置内部高速时钟以及内部低速时钟,默认0x11:内部高速时钟开启
  3. CLK_PCKENR1、CLK_PCKENR2、CLK_PCKENR3 外设时钟门控寄存器(Peripheral clock gating register)
    作用:用于配置相应外设时钟使能
  4. CLK_CCOR 可配置时钟输出寄存器(Configutable clock output register)
    作用:用于配置时钟输出的分频系数及时钟源
  5. CLK_ECKCR 外部时钟寄存器(External clock register)
    作用:用于配置外部高速时钟以及外部低速时钟
  6. CLK_SCSR 系统时钟状态寄存器(System clock status register)
    作用:用于查看系统时钟源
  7. CLK_SWR 系统时钟选择寄存器(System clock switch register)
    作用:用于配置系统时钟源,默认 0x01:高速内部时钟作为系统时钟源

5 系统时钟配置步骤

  1. 选择时钟源
  2. 选择系统时钟源,配置总线分频器
  3. 外设时钟使能或禁用
    相关函数介绍如下表:
函数主要寄存器主要功能
Clk_OscConfigCLK_ICKCR、CLK_ECKCR使能所选时钟源
ClK_SysClockConfigCLK_SWR 、 ​CLK_CKDIVR.CKM选择系统时钟源,配置总线分频器
Clk_PeripheralClockConfigCLK_PCKENR1、CLK_PCKENR2、CLK_PCKENR3外设时钟使能或禁用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值