STM32F103学习笔记(四)-STM32F103的复位和时钟


一、复位

STM32F支持三种复位形式,分别为系统复位、上电复位和备份区域复位。

1、系统复位

系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器。

当以下事件中的一件发生时,产生一个系统复位:

  1. NRST管脚上的低电平(外部复位)。
  2. 窗口看门狗计数终止( WWDG复位)。
  3. 独立看门狗计数终止( IWDG复位)。
  4. 软件复位( SW复位)。
  5. 低功耗管理复位。

可通过查看RCC_CSR控制状态寄存器中的复位状态标志位来确认复位事件来源。复位后CPU都会被强制到复位向量中去执行程序。

2、电源复位

当以下事件中之一发生时,产生电源复位:

  1. 上电/掉电复位( POR/PDR复位)。
  2. 从待机模式中返回(因为待机模式会断掉电源)。

3、备份域复位

当以下事件中之一发生时,产生备份区域复位:

  1. 软件复位,备份区域复位可由设置备份区域控制寄存器RCC_BDCR中的BDRST位产生。
  2. 在VDD和VBAT两者掉电的前提下, VDD或VBAT上电将引发备份区域复位。

复位电路图:
在这里插入图片描述

二、时钟

1、STM32的时钟总体设计

  1. 时钟源:纯内部、内外部、纯外部 。
  • 纯内部:CPU内部集成,使用方便,但是精度不高。
  • 内外部:就是晶振加CPU内部震荡电路的组合。
  • 纯外部:外部直接产生一个时钟,通过一个引脚直接传给CPU。
  1. PLL(锁相环电路),功能就是倍频 。
  2. 时钟通道与流向、分频 。
  3. 完全独立的多个时钟。

2、时钟树

STM32的时钟树图如下:
在这里插入图片描述

1)、总体配置

  1. 两套独立时钟:HSx和LSx;
  2. 纯内部:HSI(8MHz)、LSI(40KHz)->内部时钟是通过RC振荡电路产生;
  3. 内外部:HSE(4-16MHz)、LSE(32.768KHz)->需要接外部晶振;
  4. 纯外部:OSC_IN、OSC32_IN->外部时钟。

2)、PLL

  1. 两个可选PLL源-> HSI 和HSE->由PLLSRC控制选择哪个;
  2. 倍频可设置->由PLLMUL控制。

3)、分频

时钟节点名称:HSI、HSE、LSI、LSE、PLLCLK、SYSCLK、USBCLK、HCLK、FCLK、PCLK1、PCLK2、ADCCLK、RTCCLK、IWDGCLK。

4)、systick和MCO

  • systick:系统滴答时钟,是操作系统用来调度任务时用的计时器。RCC通过AHB时钟8分频后供给Cortex系统定时器的外部时钟。 通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex AHB时钟作为SysTick时钟。
  • MCO:Main Clock Output,单片机作为一个时钟源,将内部时钟输出到外部。

5)、时钟相关的寄存器

寄存器基地址地址偏移量
RCC_CR0x400210000x00
RCC_CFGR0x400210000x04
RCC_CIR0x400210000x08
RCC_APB2RSTR0x400210000x0C
RCC_APB1RSTR0x400210000x10
RCC_AHBENR0x400210000x14
RCC_APB1ENR0x400210000x1C
RCC_BDCR0x400210000x20
RCC_CSR0x400210000x24
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值