STM8S 的时钟管理可以通过对 13 个寄存器的设置来实现,它们是
● 内部时钟寄存器 CLK_ICKR
● 外部时钟寄存器 CLK_ECKR
● 主时钟状态寄存器 CLK_CMSR
● 主时钟切换寄存器 CLK_SWR
● 切换控制寄存器 CLK_SWCR
● 时钟分频寄存器 CLK_CKDIVR
● 外设时钟门控寄存器 1CLK_PCKENR1
● 外设时钟门控寄存器 2CLK_PCKENR2
● 时钟安全系统寄存器 CLK_CSSR
● 可配置时钟输出寄存器 CLK_CCOR
● CAN外部时钟控制寄存器 CLK_CANCCR
● HSI 时钟修正寄存器 CLK_HSITRIMR
● SWIM 时钟控制寄存器CLK_SWIMCCR

内部时钟寄存器 CLK_ICKR


内部时钟寄存器用来设置 STM8 内部的时钟参数及获取内部时钟的状态。BIT7、BIT6 是保留位;

  • BIT5 是活跃停机模式(Active Halt)下电压调节器的设置位,由软件清零或置位。0—打开主电压调节器;1—关闭主电压调节器,由活跃停机状态下唤醒的时间较长。
  • BIT4 是 LSI 准备就绪状态位,由硬件置位或清零。0—LSI 未准备就绪;1—LSI 已准备就绪。
  • BIT3 是 LSI 使能位,一般由软件置位或清零。0—关闭 LSI;1—打开 LSI。如果在进行其他操作时,操作的过程中 LSI 是必需的,则该位会被硬件自动置位。例如:
    ■时钟源切换至 LSI;
    ■LSI 被设置为 CCO 时钟源;
    ■BEEP 被使能;
    ■LSI 测量被使能;
    LSI 被设置位主时钟源、CCO 时钟源、自动唤醒模块时钟源、独立看门狗时钟源时,此位不能被清零。
  • BIT2 是快速唤醒使能位,用来设置从停机模式(Halt)或活跃停机模式(Active Halt)快速唤醒功能的开关,由软件设置。0—快速唤醒禁用;1—快速唤醒开启。
  • BIT1 是 HSI 是否就绪状态位,由硬件设置。0—HSI 未准备就绪;1—HSI 准备就绪。
  • BIT0 是 HSI 使能位,一般由软件设置。0—HSI 关闭;1—HSI 开启。如果进行其他操作时,HSI 是必需的,则该位会被硬件置位。例如::
    ■CSS 被激活;
    ■时钟源切换至 HIS;
    ■HSI 被设置为 CCO 时钟源;

外部时钟寄存器 CLK_ECKR


外部时钟寄存器与 HSE 相关。
BIT2~BIT7 为保留位;
BIT1 为 HSE 是否就绪状态位,由硬件置位或清零。0—HSE 未就绪;1—HSE 已就绪。BIT0 为 HSE 使能位,0—关闭HSE;1—开启 HSE。

主时钟状态寄存器 CLK_CMSR


主时钟状态寄存器用于指示当前系统所选的主时钟源。
0xE1—主时钟源为 HSI;
0xD2—主时钟源为LSI;
0xB4—主时钟源为 HSE。

主时钟切换寄存器 CLK_SWR


该寄存器用于选择主时钟源,时钟切换正在进行时,该寄存器被写保护。
0xE1—主时钟源为 HSI;
0xD2—主时钟源为 LSI;
0xB4—主时钟源为 HSE。

切换控制寄存器 CLK_SWCR


该寄存器的 BIT4~BIT7 位为保留位。
SWIF 位为时钟切换中断标志位,由硬件置位、软件清零。在手动切换模式(SWEN=0)下,0—目标时钟源未准备就绪;1—目标时钟源准备就绪;在自动切换模式(SWEN=1)下,0—无时钟切换事件发生;1 —有时钟切换事件发生。
SWIEN 位为时钟切换中断使能位,由软件置位或清零。0—禁止时钟切换中断;1—使能时钟切换中断。
SWEN 位为启动/停止切换位。向该位写 1,系统主时钟源会切换至 CLK_SWR 设定的时钟源。0—禁止时钟切换;1—启动时钟切换。
SWBSY 位为时钟切换忙状态位,由硬件置位或清零。0—无时钟切换在进行;1—时钟切换正在进行。

时钟分频寄存器 CLK_CKDIVR


时钟分频寄存器用来设置 HSI 和 CPU 时钟分频,其中 BIT4、BIT3 设置 HSI 分频值,BIT0~BIT2 设置 CPU 分频。
[BIT4:BIT3]:

  • 00—f HSI =f HSI 输出;
  • 01—f HSI =f HSI 输出/2;
  • 10—f HSI =f HSI 输出/4;
  • 11—f HSI =f HSI 输出/8;

[BIT2:BIT0]:

  • 000—f CPU =f MASTER
  • 001—f CPU =f MASTER /2;
  • 010—f CPU =f MASTER /4;
  • 011—f CPU =f MASTER /8;
  • 100—f CPU =f MASTER /16;
  • 101—f CPU =f MASTER /32;
  • 110—f CPU =f MASTER /64;
  • 111—f CPU =f MASTER /128;

外设时钟门控寄存器 1CLK_PCKENR1


外设时钟门控寄存器用来设置 f MASTER 与外设的连接或断开,断开不使用的外设的时钟可以降低系统的功耗。将某位设置为 0,对应外设的时钟与 f MASTER 断开,反之则连接。

外设时钟门控寄存器 2CLK_PCKENR2


外设时钟门控寄存器 1 和 2 对应的外设如表 4.9 所示。

时钟安全系统寄存器 CLK_CSSR


时钟安全系统用于监测系统的外部时钟 HSE 是否有效,并在 HSE 失效时将主时钟源切换至备用时钟源。
BIT4~BIT7 为保留位;BIT3 为时钟安全系统监测位,由硬件置位或软件清零。0—CSS 关闭或未检测到 HSE 失效;1—检测到 HSE 失效。
BIT2 为时钟安全系统监测中断使能位,由软件置位或清零,0—禁用;1—使能。
BIT1 为辅助振荡器使能位,它由硬件置位或清零,0—辅助振荡器关闭;1—辅助振荡器开(HSI/8),并作为当前的主时钟源。
BIT0 为时钟安全系统使能位,只能由软件写一次,可读,0—关闭时钟安全系统;1—打开时钟安全系统。

可配置时钟输出寄存器 CLK_CCOR


该寄存器用于设置可配置时钟输出功能。
BIT7 为保留位。

  • CCOBSY 为 CCO 忙标志位,由硬件置位或清零,用于指示所选的 CCO 时钟源正处于切换状态或稳定状态。0—CCO 时钟空闲;1—CCO 时钟忙,CCOSEL 被写保护,直至 CCO 时钟被使能。
  • CCORDY 用于指示 CCO 时钟的状态,由硬件置位或清零,0—CCO 时钟可用;1—CCO 时钟不可用。
  • CCOSEL0~CCOSEL3 用于选择 CCO 时钟源。
    • 0000—f HSIDIV
    • 0001—f LSI
    • 0010—f HSE
    • 0011—保留;
    • 0100—f CPU
    • 0101—f CPU /2;
    • 0110—f CPU /4;
    • 0111—f CPU /8;
    • 1000—f CPU /16;
    • 1001—f CPU /32;
    • 1010—f CPU /64;
    • 1011—f HSI
    • 1100—f MASTER
    • 1101、1110、1111—f CPU
  • CCOEN 为 CCO 功能使能位,由软件置位或清零。0—禁止 CCO;1—使能 CCO。

CAN 外部时钟控制寄存器 CLK_CANCCR


该寄存器用于设置外部 CAN 时钟的分频值。
000—外部 CAN 时钟=f HSE
001—外部 CAN 时钟=f HSE /2;
010—外部 CAN 时钟=f HSE /4;
……
111—外部 CAN 时钟=f HSE /8;

HSI 时钟修正寄存器 CLK_HSITRIMR


该寄存器用于微调 HSI 的校准值,由软件写入。HSIRIMR0~HSITRIMR

SWIM 时钟控制寄存器 CLK_SWIMCCR


SWIMCLK 位为 SWIM 时钟分频值,由软件置位或清零。0—SWIM 时钟被 2 分频;1—SWIM 时钟未被 2 分频。

时钟寄存器地址映射

STM8 时钟寄存器相关推荐

  1. STM8学习笔记---点亮LED灯

    对单片机操作时一般有三个步骤,1.系统时钟选择.2.单片机外设初始化.3主程序编写. 同样要点亮LED灯时,也要按照这个步骤来. 首先选择系统时钟,打开STM8S中文参考手册,找到时钟寄存器 可以看到 ...

  2. STM8单片机驱动TM1628的示例程序

    STM8单片机驱动LED驱动芯片TM1628的示例程序,四位共阴数码管,显示"1234",开发环境为IAR FOR STM8,程序代码如下: #include "iost ...

  3. STM8单片机串口驱动的深度解析

    串口是单片机最重要的外设之一,在很多项目开发中都有应用,Lora模块的外部通讯方式就是串口. 本节简单的和大家解析一下串口通讯及驱动代码的编程. STM8L101F3单片机支持一路串口通讯.我们先看一 ...

  4. STM8单片机定时器驱动的深度解析

    上一节给大家介绍了基于标准库STM8单片机GPIO的驱动,本节课主要给大家介绍一下STM8定时器的驱动. 我们先打开STM8L10x单片机的规格书,简单的了解一下STM8L10X单片机的定时器功能. ...

  5. STM8单片机GPIO口的驱动深度解析

    上一节给大家介绍了STM8标准库的移植,本节课开始学习我们单片机的外设的驱动,单片机基本的外设资料包括GPIO.外部中断.定时器.串口等,本节先给大家介绍一下STM8单片机的GPIO口. 我们先不介绍 ...

  6. 手把手教你STM8单片机标准库移植

    本节主要内容:完成Lora模块单片机STM8L101F3标准库的移植 STM8l101F3单片机属于是8位单片机,但和传统的51有很大的区别: 1.STM8的内核不一样:  51单片机的内核是传统的8 ...

  7. IAP的原理和stm8的IAP

    一.引出(IAP的原理和stm8上实现IAP的问题) 具有IAP功能的单片机,程序可以分为两部分:IAP和APP.APP是用来实现真正功能的程序,而IAP是用来远程重新编程APP的程序.单片机上电时会 ...

  8. 用st-link通过stvp给stm8下载程序的坑

    用的这种st-link 包装上写着,stm32用下面得20pin,stm8用上面的4pin.然后背后有stm8的接线说明. 我接好了线,开发板没有电...测了一下红线和黑线之间电压0.7V... 只好 ...

  9. STM8中GPIO的12种模式

    STM8中GPIO的12种模式 (1)GPIO_Mode_In_FL_No_IT:浮空输入无中断 (2)GPIO_Mode_In_PU_No_IT:上拉输入无中断 (3)GPIO_Mode_In_FL ...

最新文章

  1. 好多Javascript日期选择器呀-5
  2. go var type 互转_Go语言学习笔记(第九章) 结构体
  3. 原子操作类AtomicInteger详解
  4. 中石油训练赛 - Perfect Tree(dfs)
  5. Android 5.1 API 22 所有sdk文件下载地址
  6. 易天40G QSFP+光模块的规格参数
  7. IOS多线程实现多图片下载(一)
  8. 计算机联锁系统硬件结构,计算机联锁系统各部硬件.ppt
  9. Linux账号安全控制与PAM认证模块
  10. java mina框架_Mina框架在项目中的使用(一)
  11. overleaf表格_Latex中插入表格
  12. java解压zip压缩包
  13. Java课程设计之你画我猜
  14. 100000以内的水仙花数C语言,找出1000000内的水仙花数
  15. iphone,ipad尺寸汇总
  16. k8s教程(pod篇)-污点与容忍
  17. 地理信息系统-什么是GIS
  18. L1和L2 复习问题
  19. Neural Network, CNN 简介
  20. matlab 生成Blocks和Heavysine等典型非线性非平稳信号代码

热门文章

  1. 奥运比赛电视直播一览表
  2. 【图像处理】基于matlab GUI多功能图像处理系统【含Matlab源码 1876期】
  3. 【IoT】产品设计:包装盒型设计
  4. 链接中的utm_source、utm_campaign、utm_campaign、utm_content、utm_term的含义【转】
  5. 微信蓝牙设备开发教程之获取蓝牙设备deviceid和设备二维码(2)
  6. 20分钟掌握前端编写 CLI 工具
  7. 分享一个简单、便宜配置https安全证书的方法(10元/年)
  8. python技巧:将文件夹下的文件遍历,保留特定文件,删除其他文件
  9. python自动更换电脑桌面壁纸
  10. mysql server安装及配置