复位和时钟控制(RCC)
一、系统复位
- 复位除了部分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):
HSIHSEPLL:
注:在激活PLL的设置时,必须先完成选择HSI振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子。
- RTC时钟源(RTCCLK):
LSELSI经过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)的更多相关文章
- STM32L0 复位和时钟控制 Reset and clock control (RCC)
时钟源: HSE:外部时钟 HSI16:可以直接用于系统时钟或者作为PLL输入.一般是1%精度 HSI48:The HSI48 clock signal is generated from an in ...
- 【STM32H7教程】第14章 STM32H7的电源,复位和时钟系统
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第14章 STM32H7的电源,复位和时钟系 ...
- STM8S学习笔记-时钟控制1
1.图13可见,STM8S单片机主要有四种时钟源可供选择: 1).1-24MHz外部晶体振荡器(HSE). 2).最大24MHz外部时钟(HSE ext). 3).16MHz高速内部RC振荡器(HSI ...
- Maxim实时时钟芯片设计指南5791-关于编写健壮的实时时钟控制代码的提示
用DS12C887设计一个万年历,虽然反复查看说明书,还是出各种的错误. 因此,从美信官网查询资料,翻译的不太通,凑合着对照看. 原文链接 Tips for Writing Bulletproof R ...
- stm32之时钟控制
本文提到的有以下内容: 时钟系统与总线矩阵 SysTick系统定时器 RTC实时时钟 看门狗定时器 通用定时器 一.时钟系统与总线矩阵 stm32F4的时钟树如下图所示: 在STM32中,有五个时钟源 ...
- STM32的时钟系统RCC详细整理(转载)
一.综述: 1.时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI . HSE . LSI . LSE . PLL . ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz : ② ...
- M0 M4时钟控制(一)
时钟控制器为整个芯片提供时钟源,包括系统时钟和所有外围设备时钟.该控制器还通过单独时钟的开或关,时钟源选择和分频器来进行功耗控制.在CPU使能低功耗PDEN(CLK_PWRCTL[7]) 位和Cort ...
- STM8S学习笔记-时钟控制2
今天把时钟系统的最后部分,时钟安全系统(CSS)和时钟输出功能(CCO),做一个简答的说明. 1.时钟安全系统(以下简称CSS) CSS功能很简单,就是监控HSE是否实效(如果系统使用HSE作为主时钟 ...
- android timed gpio (linux 3.0.0) 受时钟控制的gpio【转】
本文转载自:https://blog.csdn.net/linxi_hnh/article/details/8043417 1 路径: drivers/staging/android/timed_gp ...
随机推荐
- 如何在pycharm上创建分支,并且把它推送到远端仓库
注意创建的分支名 ,如果远端仓库没有pycharm中创建的分支名时 此时远端仓库会创建一个分支出来 这是就方便了代码的管理 具体步骤如下图操作步骤 推送上去搞定
- 企业打开云HBase的正确方式,来自阿里云云数据库团队的解读
一.HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性.高性能.高伸缩的分布式存储系统,使用HBase技术可在廉价PC Se ...
- spring+cxf
里面有http://127.0.0.1:8081/dcs/soap/cls http://127.0.0.1:8081/dcs/soap/cms http://127.0.0. ...
- Critical Links
UVA 796 Critical Links http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82833#overview 题目大意:给你一 ...
- windows防火墙批量开放端口
windows自带的防火墙没有增加端口范围的功能,这让一些常见的配置变得非常麻烦(比如FTP被动模式下,就需要在防火墙上开启端口范围),经过查询资料,使用以下cmd批处理内容,即可增加端口范围: ec ...
- js练习题之图片背景轮播
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- APPium连接真机输入框中输入的内容与代码中不一致
今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一 ...
- QT中用QStettings生成INI文件来记录QFileDialog::getOpenFileName上次的打开路径
QSettings setting("./Setting.ini", QSettings::IniFormat); //QSettings能记录一些程序中的信息,下次再打开时可以读 ...
- 树的直径(BFS)
][];];];];,,;vis[i]=; ; j <= n ; j++){ ){;//标记 res[j]=res[root]+; ; i <= n- ; i++){; data[b][a ...
- Ubuntu安装程序提示无法获得锁
目录 1.问题描述 2.问题原因 3.解决方案 3.1方法一:杀掉apt-get进程 3.2方法二:强制解锁 1.问题描述 E: 无法获得锁 /var/lib/dpkg/lock-frontend - ...
