STM32 中断简单介绍

Kozakemi Lv4

中断系统

中断概念

主程序运行时触发特定的中断条件后,使CPU暂停并保存任务,转而处理中断函数

中断优先级

中断有轻重缓急,CPU会根据中断优先级,优先相应更加重要的中断源

中断嵌套

当进入中断时,更高优先级中断触发,那么将会暂停当前中断程序,执行高优先级中断

中断数量

68个可屏蔽中断通道包含EXTI、TIM、ADC、USART、SPI、IIC、RTC等外设

由NVIC统一管理,每个中断有16个可编程优先等级,可以设置抢占优先级和响应优先级

所有中断参考 STM32F10xxx参考手册(中文).pdf P130 9.1.2 中断和异常向量

NVIC 嵌套向量中断控制器

Cortex-M3权威指南.pdf P26 2.4 内建的嵌套向量中断控制器

NVIC提供以下功能

  • 可嵌套中断支持
  • 向量中断支持
  • 动态优先级调整支持
  • 中断延迟大大缩短
  • 中断可屏蔽

NVIC的优先级分组

中断一般不遵从先来后到的方式,一直都是优先级高的先响应

中断优先级有优先级的4位0-15决定,对这四位进行拆分可以分为高那位设置抢占优先级,低4-n位设置响应优先级AIRCR中断分组设置表

分组方式AIRCR[10:8]IP bit[7:4]分配情况(抢占优先级:响应优先级)
01110:4
11101:3
21012:2
31003:1
40114:0

抢占优先级与响应优先级

抢占优先级高可以中断嵌套,而响应优先级高可以优先响应,均相同按中断号排队(先到先得)

  • 标题: STM32 中断简单介绍
  • 作者: Kozakemi
  • 创建于 : 2023-09-19 19:56:00
  • 更新于 : 2024-05-17 13:47:59
  • 链接: https://kozakemi.gitlab.io/post/b9bff18d.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论