6 中断概览

news/2024/10/31 2:24:21/

目录

中断概览

STM32异常和中断介绍

STM32的异常一览

STM32的中断表一览

中断的优先级

中断的优先级分组

优先级分组

嵌套向量中断控制器(NVIC)功能


中断概览

什么是中断?

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

STM32异常和中断介绍

  • 对于异常和外部中断的功能,对于STM32单片机来说,是由芯片内的Cortex-M内核提供支持。也就是说,这部分功能是由ST公司在Cortex-M内核上拓展或者修改而来的。
  • 异常和中断的概念相近,异常可以说是内核活动产生(比如执行指令出错)。中断一般是指,由连接到内核的外部器件(外设)产生(比如外设产生中断,提示数据传输完成)。它们的触发或者说处理方式相同。使用中一般并不严格区分异常和中断,我们可以将异常和中断统称为中断。
  • 如果没有特殊说明,后面所叙的异常,特指系统异常,中断特指外中断,也就是外设中断。

STM32的异常一览

STM32的中断表一览

从表中可以发现类型并没有特定的名字。这是因为Cortex-M的外部中断一般是对特定的芯片来拓展的,所以根据不同的芯片中断表的内容不同。对于学习而言,中断表的内容无关紧要,只需要知道如何使用即可。

从启动文件可以看到,对于不同的芯片内核,中断的内容都是不一样的

中断的优先级

  • 中断的优先级分别两种:可编程、不可编程(只有复位、NMI和hard fault)。
  • 对于STM32的中断优先级,决定着内核优先相应谁的中断请求。
  • 小值优先原则,中断优先级数值越小,中断会被优先响应。(复位为-3,最高)
  • 中断优先级按照优先级分组配置。

中断的优先级分组

以F103为例,STM32上只使用了M3内核支持的8bit优先级中的高4位bit。也就是说STM32支持2^4个优先级。

在F103上,使用这个4个bit,组织成五组优先级分组。这五组中,每组分为1个抢占组、1个子优先级组。组织形式如下。

优先级分组

  • 通过优先级分组,可以管理中断的响应顺序。
  • 只有抢占优先级才有抢占中断权限,发生中断嵌套。
    • 例:B中断正在执行,A中断抢占优先级数值比B中断小(A抢占优先级比B高),A中断则抢过B中断的使用权,响应A的中断服务函数,A中断执行完再交回B。
  • 如果中断抢占优先级相同,不发生抢占行为。
  • 如果多个挂起的中断具有相同的抢占优先级,则子优先级高的先行,如果子优先级相同,则IRQ编号小的先行。
  • 可编程的优先级,通过嵌套向量中断控制器(NVIC)实现。

在stm32fxx.h中会有不同芯片的头文件

不同的头文件里会有不同的中断编号

嵌套向量中断控制器(NVIC)功能


http://www.ppmy.cn/news/595575.html

相关文章

idea打的包字符集为GBK

1.最近对接一个打印机厂家的机器,他们对与打印数据要求字符集是UTF-8的,做完程序在自己idea上运行是是能够打印的,但是打包后,就不能够打印了。然后问了设备方是否是他们机器的原因,后面他们问了我这报错码&#xff0c…

项目bug--汇集

1、 2、 原因:页面选择后 没有调init方法 刷新页面 解决:在保存方法最后 ,加上init方法 3、 原因:select中 v-model绑定的id、select选项中 :value 绑定的id ,和编辑时触发的方法里 的id 没有一致,可能的…

关于DMS批量导入的注意事项

前言 当你注意了列命和数据库对应关系,批量后报错,常见的是无列名都好找问题,说一条不好找的 SQL解析失败:解析文件失败::读取字段定义异常,字段定义存在非法的空字段,请检查提交的Excel文件首行中的字段定义1、列名…

Docker安装ES

记录一下docker安装ES 查看max_map_count的值。 cat /proc/sys/vm/max_map_count我的是65530,需要将它改为262144 sysctl -w vm.max_map_count262144这里安装7.7.0版本拉取镜像 docker pull elasticsearch:7.7.0创建挂载地址 mkdir -p /opt/myDocker/es/config…

固态硬盘要长命绝招:千万别点磁盘碎片!

现如今,固态硬盘行业因闪存颗粒的原料供应问题,陷入了涨价风波,甚至在第三方市场研究机构Gartner发布的最新报告中显示,固态硬盘行业的涨价风波将会一直持续到今年年末。 正所谓,开源节流,在当下固态硬盘行…

记录一下,基于jsoup的爬虫(入门级)

最近爬虫比较火,空闲之余学习一下,第一个爬虫实验. 爬取影驰世界杯主题里面的影驰币排行榜. 原始网页如下 主要用到两个包:jsoup(用于解析html)和fast-json(用于解析json数据) <!-- HTML解析工具 jsoup begin --><dependency><groupId>org.jsoup</grou…

Zookeeper 从安装到应用

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; &#x1f495;&#x1f495; 感兴趣的同学可以收…

Java --- springboot3整合kafka

一、消息队列场景 1.1、异步 1.2、解耦 1.3、削峰 1.4、缓冲 二、springboot整合kafka 导入pom依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency> 修改配置 spring.…