一、系统复位

  • 复位除了部分RCC寄存器和备份区域以外的其他所有的寄存器;
来源:
NRST引脚上的低电平(外部复位)
WWDG计数结束
IWDG计数结束
软件复位(通过NVIC)
低电压管理的复位
  • 电源复位
复位除了备份区域以外所有的寄存器;

来源:

上电/掉电复位(POR/PDR复位)

退出STANDBY模式

  • 软件复位
通过将Cortex-M3中断应用和复位控制寄存器中的SYSRESETREQ位置1。

  • 低功耗管理复位
在进入待机模式时,系统产生低功耗管理复位:

设置选择字中的nRST_STDBY位为1。

在进入停止模式时,系统产生低功耗管理复位:

设置选择字中的nRST_STOP位为1。

  • 备份区域的复位
复位所有的备份区域;

复位源:

设置RCC的BDCR寄存器的BDRST位;

如果VDD和VBAT都已掉电,二者再次上电。

二、时钟

  • 外部高速振荡器(HSE):4MHz到16MHz主振荡器,可通过PLL进行倍频用以提供宽广的频率范围。

可使用外部时钟信号(最大25MHz):设置时钟控制寄存器的HSEBYP和HSEON位。

  • 内部高速RC振荡器(HSI):频率为8MHz,温度在0-70°C时误差位为±1%。(出厂时进行校准,工厂校准值被装载到时钟控制寄存器的HSICAL[7:0]位)
为了节省功耗,运行后可以关闭内部RC振荡器:清除HISON位;
复位或从停止模式退出后,用作MCU的系统时钟,可快速启动(启动时间:最大2us);
如果应用基于不同的电压或环境温度,将会影响RC振荡器的精度。可通过利用时钟控制寄存器里的HSITRIM[4:0]位来调整HSI频率;
当HSE失效时,HSI将被切换为系统时钟源(如果HSI被关闭,硬件将其开启);
注: 当HSI被用作PLL的时钟输入时,最大系统时钟可达64MHz。

  • 外部低速振荡器(LSE): 32.768kHz振荡器,提供一个极低功耗(最大1?A)的精确的时钟。可选用为驱动RTC从停止/待机模式中唤醒。
通过备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。
可用外部时钟信号 --- 具有50%占空比的外部时钟信号(方波、正弦波或三角波)连到OSC32_IN管脚,同时保证OSC32_OUT管脚悬空。

  • 内部低速RC(LSI): 40KHz的内部RC,可用作IWDG和自动唤醒的RTC的时钟。
通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。

LSI校准:(仅大容量产品有)

可以通过校准内部低速振荡器LSI来补偿其频率偏移,获得精度可接受的RTC时间基数,以及独立看门狗(IWDG)的超时时间(当这些外设以LSI为时钟源)。



三、时钟配置

  • 系统时钟源(SYSCLK):
HSI
HSE
PLL:
注:在激活PLL的设置时,必须先完成选择HSI振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子。
  • RTC时钟源(RTCCLK):
LSE
LSI
经过128分频的HSE时钟
  • 当HSE时钟失效时,时钟安全系统将系统(CSS)时钟切换到使用备用时钟HSI。
通过软件使能,将该中断连接到CortexM3内核的NMI中断上。(不可屏蔽中断)
  • 在MCO引脚(PA.08)可将时钟输出。
最大可达50MHz
  • 多个时钟源可实现全速运行/低功耗模式下的复杂应用。
  • 可配置分频器为AHB、APB1/2、ADC、TIM提供时钟。
HCLK --- Cortex-M3内核、AHB总线、内存、DMA
  • USB时钟源(USBCLK)由内部的PLL倍频提供。

使用USB接口时,PLL必须被设置为输出48或72MHZ时钟。

http://blog.sina.com.cn/s/blog_6cd2030b01019i9j.html

http://www.51hei.com/bbs/dpj-30961-1.html

复位和时钟控制(RCC)的更多相关文章

  1. STM32L0 复位和时钟控制 Reset and clock control (RCC)

    时钟源: HSE:外部时钟 HSI16:可以直接用于系统时钟或者作为PLL输入.一般是1%精度 HSI48:The HSI48 clock signal is generated from an in ...

  2. 【STM32H7教程】第14章 STM32H7的电源,复位和时钟系统

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第14章       STM32H7的电源,复位和时钟系 ...

  3. STM8S学习笔记-时钟控制1

    1.图13可见,STM8S单片机主要有四种时钟源可供选择: 1).1-24MHz外部晶体振荡器(HSE). 2).最大24MHz外部时钟(HSE ext). 3).16MHz高速内部RC振荡器(HSI ...

  4. Maxim实时时钟芯片设计指南5791-关于编写健壮的实时时钟控制代码的提示

    用DS12C887设计一个万年历,虽然反复查看说明书,还是出各种的错误. 因此,从美信官网查询资料,翻译的不太通,凑合着对照看. 原文链接 Tips for Writing Bulletproof R ...

  5. stm32之时钟控制

    本文提到的有以下内容: 时钟系统与总线矩阵 SysTick系统定时器 RTC实时时钟 看门狗定时器 通用定时器 一.时钟系统与总线矩阵 stm32F4的时钟树如下图所示: 在STM32中,有五个时钟源 ...

  6. STM32的时钟系统RCC详细整理(转载)

    一.综述: 1.时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI . HSE . LSI . LSE . PLL . ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz : ② ...

  7. M0 M4时钟控制(一)

    时钟控制器为整个芯片提供时钟源,包括系统时钟和所有外围设备时钟.该控制器还通过单独时钟的开或关,时钟源选择和分频器来进行功耗控制.在CPU使能低功耗PDEN(CLK_PWRCTL[7]) 位和Cort ...

  8. STM8S学习笔记-时钟控制2

    今天把时钟系统的最后部分,时钟安全系统(CSS)和时钟输出功能(CCO),做一个简答的说明. 1.时钟安全系统(以下简称CSS) CSS功能很简单,就是监控HSE是否实效(如果系统使用HSE作为主时钟 ...

  9. android timed gpio (linux 3.0.0) 受时钟控制的gpio【转】

    本文转载自:https://blog.csdn.net/linxi_hnh/article/details/8043417 1 路径: drivers/staging/android/timed_gp ...

随机推荐

  1. 英语单词profile

    profile 来源——linux系统文件名 [root@centos71 ~]# cat /etc/profile # /etc/profile # System wide environment ...

  2. 重写UIlabel的setText:方法,过滤或者拦截text设置

    因为项目中很多地方都有对UIlabel的赋值,但是text.length == 0 或者为空时并没有去给默认值,导致很多界面空间是白板, 所以不想一个一个去改.希望能重写UIlabel 的setTex ...

  3. 【LeetCode 75】颜色分类

    题目链接 [题解] 维护一个左边界l和一个右边界r 其中0..l-1都是'0' 而 r+1..n-1都是'2' 我们令i=l;i<=r; 枚举每一个a[i]; ①如果a[i]=2.那么把a[i] ...

  4. LOJ 6436 「PKUSC2018」神仙的游戏——思路+卷积

    题目:https://loj.ac/problem/6436 看题解才会. 有长为 i 的 border ,就是有长为 n-i 的循环节. 考虑如果 x 位置上是 0 . y 位置上是 1 ,那么长度 ...

  5. Java反射之方法反射demo

    package reflect; import java.lang.reflect.Method; public class ClassDemo3 { public static void main( ...

  6. python中模块介绍

    一,模块概念 在计算机程序开发的过程当中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编码更加容易维护,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码 ...

  7. php面试专题---1、php中变量存储及引用的原理

    php面试专题---1.php中变量存储及引用的原理 一.总结 一句话总结: 查看变量的存储结构可以安装xdebug扩展,用xdebug_debug_zval()方法,不推荐使用memory_get_ ...

  8. Oracle 表空间、用户

    一.表空间 临时表空间 创建临时表空间范例 CREATE TEMPORARY TABLESPACE duke_temp /* 临时表空间名称:duke_temp */ tempfile 'C:\ora ...

  9. gradle 国内加速,修改镜像源

    为什么慢 由于默认情况下执行 gradle 各种命令是去国外的 gradle 官方镜像源获取需要安装的具体软件信息,所以在不使用代理.不翻墙的情况下,从国内访问国外服务器的速度相对比较慢 如何修改镜像 ...

  10. 测开之路三十八:css布局之定位

    常用的布局方式: static:静态定位(默认),什么都不用管,元素会按照默认顺序排列,排不下是会默认换行relative:相对定位(同一层),相对于某一个元素进行定位fixed:绝对定位,指定位置a ...