Chinaunix首页 | 论坛 | 博客
  • 博客访问: 493872
  • 博文数量: 223
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2145
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-01 10:23
个人简介

该坚持的时候坚持,该妥协的时候妥协,该放弃的时候放弃

文章分类

全部博文(223)

文章存档

2017年(56)

2016年(118)

2015年(3)

2014年(46)

我的朋友

分类: 嵌入式

2017-01-10 22:24:05

一、系统复位
  • 复位除了部分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
阅读(6367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~