STM8 时钟寄存器
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 时钟寄存器相关推荐
- STM8学习笔记---点亮LED灯
对单片机操作时一般有三个步骤,1.系统时钟选择.2.单片机外设初始化.3主程序编写. 同样要点亮LED灯时,也要按照这个步骤来. 首先选择系统时钟,打开STM8S中文参考手册,找到时钟寄存器 可以看到 ...
- STM8单片机驱动TM1628的示例程序
STM8单片机驱动LED驱动芯片TM1628的示例程序,四位共阴数码管,显示"1234",开发环境为IAR FOR STM8,程序代码如下: #include "iost ...
- STM8单片机串口驱动的深度解析
串口是单片机最重要的外设之一,在很多项目开发中都有应用,Lora模块的外部通讯方式就是串口. 本节简单的和大家解析一下串口通讯及驱动代码的编程. STM8L101F3单片机支持一路串口通讯.我们先看一 ...
- STM8单片机定时器驱动的深度解析
上一节给大家介绍了基于标准库STM8单片机GPIO的驱动,本节课主要给大家介绍一下STM8定时器的驱动. 我们先打开STM8L10x单片机的规格书,简单的了解一下STM8L10X单片机的定时器功能. ...
- STM8单片机GPIO口的驱动深度解析
上一节给大家介绍了STM8标准库的移植,本节课开始学习我们单片机的外设的驱动,单片机基本的外设资料包括GPIO.外部中断.定时器.串口等,本节先给大家介绍一下STM8单片机的GPIO口. 我们先不介绍 ...
- 手把手教你STM8单片机标准库移植
本节主要内容:完成Lora模块单片机STM8L101F3标准库的移植 STM8l101F3单片机属于是8位单片机,但和传统的51有很大的区别: 1.STM8的内核不一样: 51单片机的内核是传统的8 ...
- IAP的原理和stm8的IAP
一.引出(IAP的原理和stm8上实现IAP的问题) 具有IAP功能的单片机,程序可以分为两部分:IAP和APP.APP是用来实现真正功能的程序,而IAP是用来远程重新编程APP的程序.单片机上电时会 ...
- 用st-link通过stvp给stm8下载程序的坑
用的这种st-link 包装上写着,stm32用下面得20pin,stm8用上面的4pin.然后背后有stm8的接线说明. 我接好了线,开发板没有电...测了一下红线和黑线之间电压0.7V... 只好 ...
- 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 ...
最新文章
- 好多Javascript日期选择器呀-5
- go var type 互转_Go语言学习笔记(第九章) 结构体
- 原子操作类AtomicInteger详解
- 中石油训练赛 - Perfect Tree(dfs)
- Android 5.1 API 22 所有sdk文件下载地址
- 易天40G QSFP+光模块的规格参数
- IOS多线程实现多图片下载(一)
- 计算机联锁系统硬件结构,计算机联锁系统各部硬件.ppt
- Linux账号安全控制与PAM认证模块
- java mina框架_Mina框架在项目中的使用(一)
- overleaf表格_Latex中插入表格
- java解压zip压缩包
- Java课程设计之你画我猜
- 100000以内的水仙花数C语言,找出1000000内的水仙花数
- iphone,ipad尺寸汇总
- k8s教程(pod篇)-污点与容忍
- 地理信息系统-什么是GIS
- L1和L2 复习问题
- Neural Network, CNN 简介
- matlab 生成Blocks和Heavysine等典型非线性非平稳信号代码
热门文章
- 奥运比赛电视直播一览表
- 【图像处理】基于matlab GUI多功能图像处理系统【含Matlab源码 1876期】
- 【IoT】产品设计:包装盒型设计
- 链接中的utm_source、utm_campaign、utm_campaign、utm_content、utm_term的含义【转】
- 微信蓝牙设备开发教程之获取蓝牙设备deviceid和设备二维码(2)
- 20分钟掌握前端编写 CLI 工具
- 分享一个简单、便宜配置https安全证书的方法(10元/年)
- python技巧:将文件夹下的文件遍历,保留特定文件,删除其他文件
- python自动更换电脑桌面壁纸
- mysql server安装及配置