首页 > 其他分享 >中断

中断

时间:2023-01-09 23:58:16浏览次数:39  
标签:10 优先级 16 中断 NVIC EXTI

中断

一、什么是中断

1、中断的作用和意义

2、STM32 GPIO外部中断简图

二、NVIC

1、NVIC基本概念

Nested vectored interrupt controller,嵌套向量中断控制器,属于内核(M3/4/7)

NVIC支持:256个中断(16内核 + 240外部),支持:256个优先级,允许裁剪!

STM32型号 内核中断 外部中断 中断优先级
STM32F103xx 10 60 16
STM32F407xx 10 82 16
STM32F429xx 10 91 16
STM32F750xx 10 98 16
STM32F767xx 10 110 16
STM32F743xx 10 150 16
STM32F750xx 10 150 16

2、中断向量表

3、NVIC相关寄存器介绍

4、NVIC工作原理

5、STM32中断优先级基本概念

  • 抢占优先级(pre):高抢占优先级可以打断正在执行的低抢占优先级中断
  • 响应优先级(sub)响应优先级(sub):当抢占优先级相同时,响应优先级高的先执行,但是不能互相打断
  • 抢占和响应都相同的情况下,自然优先级越高的,先执行
  • 自然优先级自然优先级:中断向量表的优先级
  • 数值越小,表示优先级越高

6、STM32中断优先级分组

优先级分组 AIRCR[10:8] IPRx bit[7:4]分配 分配结果
0 111 None : [7:4] 0位抢占优先级,4位响应优先级
1 110 [7] : [6:4] 1位抢占优先级,3位响应优先级
2 101 [7:6] : [5:4] 2位抢占优先级,2位响应优先级
3 100 [7:5] : [4] 3位抢占优先级,1位响应优先级
4 110 [7:4] : None 4位抢占优先级,0位响应优先级
特别提示:一个工程中,一般只设置一次中断优先级分组。

7、STM32 NVIC的使用

三、EXTI

1、EXTI 基本概念

External (Extended) interrupt/event Controller,外部(扩展)中断事件控制器

包含20个产生事件/中断请求的边沿检测器,即总共:20条EXTI线(F1)

中断和事件的理解

  • 中断:要进入NVIC,有相应的中断服务函数,需要 CPU 处理
  • 事件:不进入NVIC,仅用于内部硬件自动控制的,如:TIM、DMA、ADC

EXTI支持的外部中断/事件请求

2、EXTI 主要特性

F1/F4/F7系列

每条EXTI线都可以单独配置:选择类型(中断或者事件)、触发方式(上升沿,下降沿或者双边沿触发)、支持软件触发、开启/屏蔽、有挂起状态位

H7系列

由其它外设对 EXTI 产生的事件分为可配置事件和直接事件。可配置事件:简单概括,基本和F1/F4/F7系列类似直接事件:固定上升沿触发、不支持软件触发、无挂起状态位(由其它外设提供)

3、EXTI工作原理(F1/F4/F7)

4、EXTI工作原理(H7)

四、EXTI 和 IO 映射的关系

1、AFIO 简介(F1)

2、SYSCFG 简介(F4/F7/H7)

3、EXTI 与 IO 对应关系

五、如何使用中断

1、STM32 EXTI的配置步骤(外部中断)

2、STM32 EXTI的HAL库设置步骤(外部中断)

功能 函数
使能GPIO时钟 __HAL_RCC_GPIOx_CLK_ENABLE
GPIO/AFIO(SYSCFG)/EXTI HAL_GPIO_Init
设置中断分组 HAL_NVIC_SetPriorityGrouping
设置中断优先级 HAL_NVIC_SetPriority
使能中断 HAL_NVIC_EnableIRQ
设计中断服务函数 EXTIx_IRQHandler

六、通用外设驱动模型(四步法)

七、HAL 库中断回调处理机制介绍

标签:10,优先级,16,中断,NVIC,EXTI
From: https://www.cnblogs.com/lxd-koi/p/17038887.html

相关文章