stm32(时钟和中断事件知识点)

一、复位和时钟控制(RCC)

复位

系统复位

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

1. NRST引脚上的低电平(外部复位)

2. 窗口看门狗计数终止(WWDG复位)

3. 独立看门狗计数终止(IWDG复位)

4. 软件复位(SW复位)

5. 低功耗管理复位

电源复位

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

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

2. 从待机模式中返回

备份区复位

备份区域拥有两个专门的复位,它们只影响备份区域。

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

1. 软件复位,备份区域复位可由设置备份域控制寄存器 (RCC_BDCR)(见6.3.9节)中的 BDRST位产生。

2. 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

时钟控制

  • 什么是时钟?

时钟打开,对应的设备才会工作。

  • 时钟来源 三种不同的时钟源可被用来驱动系统时钟(SYSCLK)

HSI振荡器时钟(高速内部时钟) HSE振荡器时钟(高速外部时钟) PLL时钟(锁相环倍频时钟)

二级时钟源: 40kHz低速内部RC(LSIRC)振荡器 32.768kHz低速外部晶体(LSE晶体)

  • 如何使用CubeMX配置时钟

五、中断和事件

什么是中断?

     中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的 程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

什么是EXTI?

外部中断/事件控制器(EXTI)管理了控制器的 23 个中断/事件线。每个中断/事件线都对应有一 个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。 EXTI 可以实现对每个中断/事 件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。

 EXTI 可分为两大部分功能,一个是产生中断,另一个是产生事件,这两个功能从硬件上就有所不 同。 产生中断线路目的是把输入信号输入到 NVIC,进一步会运行中断服务函数,实现功能,这样是软 件级的。而产生事件线路目的就是传输一个脉冲信号给其他外设使用,并且是电路级别的信号传 输,属于硬件级的。

中断事件线

EXTI模式:

 

 触发类型:

EXTI控制:

使能 EXTI ,一般都是使能, ENABLE

 什么是优先级?

  抢占优先级和响应优先级的区别:

  • 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。
  • 抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。
  • 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行。
  • 如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行

什么是优先级分组?

Cortex-M3允许具有较少中断源时使用较少的寄存器位指定中断源的优先级,因此STM32把 指定中断优先级的寄存器位减少到4位,这4个寄存器位的分组方式如下:

  • 第0组:所有4位用于指定响应优先级
  • 第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级
  • 第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级
  • 第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级
  • 第4组:所有4位用于指定抢占式优先级

什么是NVIC?

  STM32通过中断控制器NVIC(Nested Vectored Interrupt Controller)进行中断的管理 。 NVIC是属于Cortex内核的器件,不可屏蔽中断(NMI)和外部中断都由它来处理,但是SYSTICK 不是由NVIC控制的

 什么是中断向量表?         

每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向 量。所有中断的中断服务程序入口地址构成一个表,称为中断向量表;也有的机器把中断服务程 序入口的跳转指令构成一张表,称为中断向量跳转表。

ps:  如果直接在中断服务函数里调用 HAL_Delay 函数,则会造成系统卡死。

原因:程序初始化时默认把滴答定时器的中断优先级设为最低,其它中断源很容易打断它导致卡 死。

解决:在 main 函数里使用以下函数提高滴答定时器的中断优先级(提升至0):

HAL_NVIC_SetPriority(SysTick_IRQn,0,0);

并且将 EXTI4 的中断优先级设置比滴答定时器的中断优先级高,比如 2 。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值