首页 > 其他分享 >蓝桥杯【物联网】零基础到国奖之路:六. 中断

蓝桥杯【物联网】零基础到国奖之路:六. 中断

时间:2024-09-13 20:22:22浏览次数:10  
标签:国奖 优先级 中断向量 中断 蓝桥 嵌套 内核 抢占

蓝桥杯【物联网】零基础到国奖之路:六. 中断

第一节 中断理论

举个例子:工作时电话响了,这时你会把手里的工作停下来,然后接电话,电话里的人安排你做一件事,这时你需要立刻去做,当你做完后继续之前被打断的工作,这个过程叫一次中断。
计算机系统中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完后再执行之前的程序。整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。中断能提高CPU的效率,同时能对突发事件做出实时处理。实现程序的并行化,实现嵌入式系统进程之间的切换。

1,中断的作用

(1)速度匹配,提高机器系统效率。
(2)分时操作,维持系统可靠正常工作。
(3)实时响应,满足实时处理要求。
(4)提供故障现场处理手段,可靠性高。

2,中断和异常

Cortex M0+内核包含了中断系统框架。
CPU内核中断和核外外设中断。
内核中断也叫异常,异常通常是微处理器内部发生的,大多是软件引起的,比如非法指令,地址访问越界。
中断是微处理器外部发送的,一般是硬件引起的比如GPIO引脚电平变化,定时器溢出,串口接收中断等。中断指系统停止当前正在运行的程序和其他服务,可能接收了比自身优先级高的请求,或者人为设置中断,中断属于正常现象。
Reset,NMI,HardFault(硬件异常)的优先级固定为负的(最高)。剩下的都是可以通过修改NVIC寄存器调整优先级(不能为负)。NVIC作为内核里的外设,也是通过存储器映射的方式访问。

3,NVIC中断控制器

内核中有专门管理中断的外设NVIC(嵌套向量中断控制器),通过优先级控制中断的嵌套和调度来管理;NVIC是总的中断控制器,无论内核异常
还是外设的外部中断,都由NVIC统一管理。NVIC收到外设的中断请求,将其中断请求发送给内核,内核收到NVIC中断通知后,判断此时哪个中断发生,然后查找FLASH中断向量表去获得相应的中断处理函数。
(1)支持嵌套和向量中断;
(2)自动保存和恢复处理器状态;
(3)动态改变优先级;
(4)简化的和确定的中断时间;
(5)响应速度提高;
(6)标准化,统一管理。

4,中断的分类

中断按事件来源分类,可分为外部中断和内部中断。中断事件来源于内核内部称为内部中断,内核外部称为外部中断。进一步细分,外部中断可分为可屏蔽中断和不可屏蔽中断两种。内部中断按事件是否正常来划分可分为软中断和异常两种。外部中断又称硬件中断。计算机外部设备都能产生中断。
内部中断来自内核内部,软中断由软件主动发起的中断,常用于系统调用,任务切换等;异常则是指令执行期间CPU内部产生错误引起的。异常和不可屏蔽中断区别在于不可屏蔽中断发生的事件会导致处理器无法运行(断电、电池故障),而异常是直接影响系统正常运行的中断。

5,中断管理机制

(1)中断向量
CPU随时可能检测到中断信息,执行中断处理程序,中断处理程序必须一直存储在内存的某段空间中,中断处理程序在内存中的入口地址叫中断向量;要确定中断处理程序的入口地址,处理器利用了一种向量表机制;即中断向量,必须存储在对应的中断向量表表项中。使用向量表处理中断,处理器会从存储器的向量表中,自动定位中断的程序入口。从发生中断到中断的处理中间的时间被缩减。
(2)中断优先级
通过优先级配置寄存器进行配置,可编程优先级的实际数量由芯片设计厂商决定。
优先级数值越小,优先级越高。
抢占优先级,指打断其他中断的属性,因为具有这个属性会出现嵌套中断,等同于单片机中的常规中断。假设有两中断先后触发,在执行的中断抢占优先级如果没有后触发的中断抢占优先级更高,就先处理抢占优先级高的中断,抢占优先级高的可以打断抢占优先级低的中断。
响应优先级也叫亚优先级或子优先级,响应属性则应用在抢占属性相同的情况下,当两个中断向量的抢占优先级相同,如果两个中断同时抵达,先处理响应优先级高的中断。
高抢占优先级中断可在具有低抢占优先级的中断处理过程中被响应,即中断嵌套,或者高抢占式优先级中断可以嵌套在低抢占优先级的中断中。当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果在处理另外一个中断,这个后到来的中断要等前一个中断处理完后再处理。如果同时到达,则中断控制器根据响应优先级高低来决定处理哪个。如果两个优先级都相同,则根据中断向量表中的排位顺序决定先处理哪个,中断向量表排在前面的中断优先级高。
总结:抢占式优先级>响应式优先级>中断表中的排位顺序。
(3)中断嵌套
只有抢占式优先级能嵌套
(4)中断处理流程
概括为三步:进入中断、中断处理、退出中断。
进入中断:
(1)中断源发出请求,硬件判断处理器是否允许中断及该中断是否被屏蔽,若允许则当前运行的程序被打断;
(2)处理器将各寄存器压入堆栈保存,主要是PC,xPSR,RO-R3,R12,LR寄存器;
(3)根据中断向量号,到中断向量表找到中断服务程序的入口地址跳转执行。
中断处理:
(1)执行中断服务函数;
(2)遵守中断优先级和中断嵌套的执行规则。
退出中断:
(1)将保存在堆栈中的现场信息弹出到原来的寄存器中;
(2)返回被原先被中断的程序处继续执行

第二节 GPIO中断

1,CubeMX配置

在这里插入图片描述

2,添加中断代码

实现功能,按一次按键LED灯状态翻转一次。
在这里插入图片描述

标签:国奖,优先级,中断向量,中断,蓝桥,嵌套,内核,抢占
From: https://blog.csdn.net/weixin_74769854/article/details/142132246

相关文章

  • USB总线-Linux内核USB3.0设备控制器中断处理程序分析(九)
    1.概述USB设备枚举、请求处理、数据交互都涉及USB设备控制器中断。当有事件发生时,USB设备控制器首先将事件信息通过DMA写入到事件缓冲区中,然后向CPU发出中断,随后CPU调用中断处理函数开始处理中断事件。2.事件dwc3USB设备控制器事件使用dwc3_event数据结构描述,由4个字节组成。......
  • STM32 -中断
    并发(Concurrency)并发是指同时处理多个任务的能力,但并不意味着这些任务实际上是在同一时刻物理上同时运行的。在单处理器或多处理器系统中,并发通过时间片轮转(time-slicing)等技术实现,这些技术使得操作系统可以在多个任务之间快速切换,从而在宏观上给用户造成所有任务都在同时运行......
  • STM32学习笔记——中断
    中断:在主程序运行过程中,出现了特定事件(例如发生已经预知的一些情况),从而转入中断程序中,处理完成后再回到主程序中继续执行。(频繁的中断函数会影响主程序的运行,所以中断函数一边不处理特别复杂的逻辑)EXTI(ExternInterrupt)外部中断支持的触发方式:上升沿/下降沿/双边沿/软件触发支......
  • 蓝桥杯【物联网】零基础到国奖之路:三. GPIO输出之LED
    蓝桥杯【物联网】零基础到国奖之路:三.LED蓝桥杯【物联网】零基础到国奖之路:三.LED第一节硬件解读第二节cubeMX配置第三节代码部分1,配置下载器2,下载程序3,代码管理4,控制小灯代码蓝桥杯【物联网】零基础到国奖之路:三.LED第一节硬件解读STM32GPIO有四种输......
  • 蓝桥杯-STM32G431RBT6采用不同方式进行点亮LED灯(深层次剖析其原理并包含可能遇到的问
    系列文章新建工程见上篇http://t.csdnimg.cn/LH8vj一、原理部分LED部分如上图,左侧为电阻和LED,右侧为锁存器(锁存器可以在输入信号发生变化时,将其状态锁定并保持,直到接收到新的触发信号。它主要用于存储数据或状态信息),当PD2置高电平的时候,右侧的状态才能够传输到左侧,本LED为......
  • 第 18 场 小白入门赛(蓝桥)水浒专场!!
    第二题:情报传递1代码1(c++):#include<iostream>usingnamespacestd;intmain(){intt;cin>>t;while(t--){inta,b,c;cin>>a>>b>>c;intsteps=0;while(a<b){......
  • 蓝桥杯【物联网】零基础到国奖之路:一.赛项介绍与软件安装
    蓝桥杯【物联网】零基础到国奖之路:1.赛项介绍与软件安装第一章大赛概述第二章软件安装1,jre-8u221-windows-x642,SetupSTM32CubeMX-5.3.03,mdk5234,Keil_STM32L0xx_DFP_2.0.15,CMSIS-DAP第一章大赛概述蓝桥杯(电子类)物联网设计与开发科目由北京四梯科技有限公司设计和......
  • 程序设计思路-外部请求,中断测试,结算费用,带出logs参数
    1.合同到期,数据也落库,存入到无效数据表中。正常的业务场景。但是如果考虑到合同过期后,没有按时的续签,那么这段时间段内的数据,实际上是需要恢复的。原则:外部第三方请求参数,返回获取的数据,都需要保持入库,有的数据需要考虑恢复和排查问题。2.计算费用接口/方法体,考虑有值的情况......
  • 蓝桥杯嵌入式国三备赛经验分享
    1学习STM32入门视频向大家推荐一套宝藏级别的视频:【STM32入门教程-2023版细致讲解中文字幕】如果已经比过蓝桥杯单片机或学习过单片机相关课程的同学,你们可以尝试不需要STM32套件进行学习。如果没有学过单片机相关课程的同学,可以买套件边用边学。尽量把这套视频看完,无论......
  • 什么是软中断、硬中断
    软中断和硬中断是操作系统中处理事件和任务切换的两种重要机制。它们各自有不同的来源、用途和处理方式。以下是对这两种中断的详细解释:1.硬中断定义硬中断(HardwareInterrupt)是由硬件设备生成的信号,通知CPU发生了某种事件,通常需要立即处理。特点来源:来自外部硬件设备,如......