当前位置: 首页 > article >正文

中断很难?看完这篇就懂了

1.内核总线外设这三个概念是理解中断的必要前提一个芯片具有内核、总线、外设这三个结构内核芯片里的内核有很多架构如ARM架构内核它包含了许多核心部件是整个芯片的大脑总线是连接内核与外设外设与外设之间的通道外设通过总线与内核用于实现芯片的功能如GPIO输出高低电平ADC采集电压串口发送数据2.NVIC它是专门负责管理中断的控制器处于芯片的内核中响应速度很快它可以接收外设的中断请求然后给CPU发送信号执行中断3.中断与异常异常发生在CPU内部CPU的运行流被打断可能是某些致命错误也有可能是中断引起的中断被外部事件打断如按键检测、定时器触发然后NVIC接收到中断信号再给CPU发送信号触发CPU异常执行中断函数4.中断向量表中断向量表是一段存储所有中断的地址表当中断发生时CPU会根据中断编号在向量表中找到对应的地址直接跳转到该地址执行函数。如定时器完成了自动重装载值的刷新CPU就会检测并判断是定时器发生的中断然后就会通过中断向量表找到中断回调函数的地址并执行中断回调函数。5.中断悬起和中断延迟产生单一一次中断的中断处理过程中断悬起当外设触发中断条件时会通过总线向NVIC发送一个中断悬起的信号而NVIC中有很多悬起寄存器和解悬寄存器信号传输到NVIC后就会根据是哪个外设的中断将某个悬起寄存器的某个比特位置1等待着CPU的响应中断延迟从外设触发中断条件向NVIC发送中断悬起信号到CPU开始执行中断回调函数的时间间隔。里面包含了信号在总线的传输过程CPU还在执行更高优先级任务或当前指令未完成时悬起寄存器保持高的时候。最后补充一点在开始执行中断回调函数时悬起寄存器那个被置1的比特位就会被置回0。6.产生持续中断的中断处理过程举个例子将GPIO设置成低电平触发中断然后我们把按键设置成上拉模式并按下那中断请求就会不断从外设通过总线向NVIC发送接着悬起寄存器就会置1然后过了中断延迟后就会开始执行中断回调函数此时比特位就从1变成了0即使中断悬起信号在不断被传输进NVIC但比特位不会重新置1了直到中断回调函数执行完比特位才会置1此时处理器模式又还是处于Handler模式所以会极快又进行终端回调函数。7.产生多次中断悬起信号的中断处理过程1多个中断请求产生于寄存器的比特位已经置1的情况简单来说就是有个外设发出了中断悬起信号然后将寄存器的某个比特位置1然后再中断延迟期间即中断回调函数还没执行那个外设又传来很多个信号但是其作用还是将那个比特位置1并不能记住他的次数所以到最后中断回调函数还是只会执行一次2第二种特殊情况就是前面和单一一次中断的中断处理过程一样不同的是当在执行中断回调函数的过程中时此时属于那个外设的寄存器的比特位是0然后这时来了个中断悬起信号把它重新置1了然后当中断回调函数结束时没有多余的出栈入栈操作就直接连着执行中断回调函数了。8.异常流程压栈由于异常其实就是中断的一个流程所以异常流程是可以套用在中断中的。压栈就是指CPU检测到异常时自动将当前程序的“上下文信息”保存到栈内存的过程这里的上下文指的有xPSR、PC、LR、R12、R3、R2、R1、R0等寄存器。其主要作用就是保存并保护主程序。谢谢您的驻足浏览

相关文章:

中断很难?看完这篇就懂了

1.内核,总线,外设这三个概念是理解中断的必要前提,一个芯片具有内核、总线、外设这三个结构内核:芯片里的内核有很多架构,如ARM架构内核,它包含了许多核心部件,是整个芯片的大脑总线&#xff1a…...

MWC2026观察:通用算力开始进入“超节点时代”

导读:AI重塑CPU产业角色ChatGPT问世之后,全球算力产业的叙事几乎被GPU主导。但这恰恰遮蔽了另一个更重要的变化:AI时代以CPU为基础的通用算力并没有被削弱,反而重塑了产业地位。今天的大模型系统,从数据预处理、检索增…...

Claude 终极新手指南(2026年3月爆款版)

从 0 到熟练:这篇就够了。 顺便说一句:上周 Anthropic 那波更新,有点“把门直接踹开”的感觉。 这篇指南的目标很简单:把你从“摸索学习曲线”直接带到“立刻产出结果”。 即使你已经用 Claude 很久了,也很可能还能从中…...

强化学习算法ppo

最容易上手、最适合入门的强化学习算法是 PPO(Proximal Policy Optimization) —— 没有之一。相比于 Q-Learning、DDPG、DQN 等算法,PPO 的 “易上手” 体现在:代码实现简单、训练极少崩溃、调参门槛低、适配场景广,完…...

基于springboot企业车辆管理系统

一、系统核心定位 基于 SpringBoot 的企业车辆管理系统,是专为企业(尤其是拥有多辆公务车、货运车的中大型企业)打造的 “车辆调度 - 使用 - 维护 - 成本” 全流程数字化平台。该系统解决传统车辆管理中 “调度混乱、用车申请繁琐、维护不及时…...

springboot基于微信小程序的学院搞笑大学生竞赛管理系统设计与实现

目录系统架构设计功能模块划分数据库设计关键技术实现评审系统设计测试与部署项目里程碑项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用SpringBoot作为后端框架,微信小程…...

影响力--题解

题干中给的是,切比雪夫距离的公式 如果使用暴力算法, 需要遍历每个格子A;对每个格子A,都要遍历所有格子B;计算代价。 发现复杂度太高,O((nm)2),n的二次方乘m的二次方 所以这个方法不可行。这时我…...

基于FPGA的数据同步采集处理框架:包含ADC7606芯片数据采集模块、多通道数据处理模块、D...

基于fpga的数据同步采集处理,包含adc7606芯片的数据采集模块,多通道数据处理模块,ddr3缓存模块,使用SRIO通信模块,以及各个模块的仿真文件,提供学习整个框架。 包含单独的ddr3仿真,srio通信协议仿真&#x…...

基于springboot湄潭县乡村茶产品管理系统

一、系统定位与核心目标 湄潭县作为中国著名茶产区,其乡村茶产品管理需解决传统模式中的信息分散、产业链协同低效等问题。基于SpringBoot框架开发的茶产品管理系统,旨在通过数字化手段实现以下目标: 全产业链整合:覆盖茶园种植、…...

AI智能开发代码

import openai# 设置API密钥 openai.api_key = "your_api_key_here"def generate_text(prompt, max_tokens=50):"""使用AI模型生成文本参数:prompt (str): 输入提示文本max_tokens (int): 生成文本的最大长度返回:str: 生成的文本"""t…...

JAVA 国际版多商户团购扫码核销系统源码:支持多语言 + 多商户,可直接商用运营

随着本地生活、跨境团购、连锁门店、海外文旅场景快速发展,传统单商户团购系统已无法满足多商户入驻、多语言切换、扫码秒核销、跨境支付等真实运营需求。为此,一套稳定、成熟、可直接上线的 JAVA 国际版多商户团购扫码核销系统 成为开发者、创业者、企业…...

springboot基于微信小程序的二手书交易系统

基于 SpringBoot 和微信小程序的二手书交易系统是一款专为学生、书友等群体打造的二手书交易平台,借助 SpringBoot 的高效后端处理能力和微信小程序的轻量化特性,实现二手书的发布、浏览、交易、评价等全流程数字化管理,旨在促进闲置书籍的循…...

基差贸易全流程详解:高效点价与自动化下单的最佳实践

引言:破解基差贸易的高效难题——从人工瓶颈到自动化革新 基差贸易,作为现代大宗商品交易中的核心定价模式,彻底改变了企业锁定采购/销售价格的方式。无论是农产品、金属、能源还是化工,基差贸易都成为贸易公司与生产企业应对价格…...

虚拟同步发电机自适应控制(VSG)转动惯量与阻尼系数自适应调整并网仿真研究:角频率变化率对J和...

虚拟同步发电机自适应控制(VSG)转动惯量和阻尼系数自适应控制(并网)仿真 下图附带:参考文献的自适应算法以及仿真结果 仿真结果:J和D能够很好的根据角频率变化率和角频率变化率进行自适应2018a版本以上都可…...

快期指令系统优势全解析:高效合规的期现交易新范式

引言:破解期现指令管理难题,迈向高效合规新时代 在期现交易业务的迅猛发展背景下,指令管理的复杂性与合规要求持续提升。无论是客户直连交易,还是业务经理代操,企业都面临着权限分配繁琐、审批流程冗长、指令执行不透…...

FX5U PLC数据类型详解

本文详细整理了三菱FX5U系列PLC的各类数据类型定义、取值范围、存储方式及位操作方法。---1. Bool(位)类型| 属性 | 说明 ||------|------|| **数据位** | Bool只可能是 **0 / 1** || **数据大小** | 1位 || **X、Y点** | 8进制 |输入/输出区定义- **输入…...

树结构概述:从家谱到文件系统

在计算机科学中,树结构是一种基础且应用广泛的数据结构,它的设计灵感源于现实世界中的“树”——比如我们每个人都熟悉的家谱,又比如电脑中管理文件的文件系统。看似毫不相关的两个场景,背后却共享着树结构的核心逻辑。今天&#…...

comsol sofc固体氧化物燃料电池 单通道非绝热逆流固体氧化物燃料电池模型,包括阴阳极气...

comsol sofc固体氧化物燃料电池 单通道非绝热逆流固体氧化物燃料电池模型,包括阴阳极气体扩散层,电极扩散层尺寸来源于实际电池(极化曲线,性能曲线,气体分布,温度分布)在燃料电池的江湖里&#…...

springboot基于微信小程序的个体商业店铺商品展示与交易管理系统

基于 SpringBoot 微信小程序的个体商业店铺系统介绍 微信小程序凭借 “无需下载、触手可及” 的特性,已成为个体商户(如服装店、便利店、餐饮店)数字化转型的重要工具。基于SpringBoot(后端) 微信小程序(…...

2026网络安全转行全解析:薪资水平、工作节奏、前景趋势,一文讲透!

2026年转行进入网络安全领域薪资及工作安排与前景如何,一文给你讲清楚了! 如果你计划在2026年转行到网络安全领域,以下是一些建议,可以帮助你顺利过渡并打下坚实的基础: 1. 薪资情况 初级职位(0-3年经验…...

网关核心功能全解析

网关在网络通信中的核心功能解析 网关作为网络通信的关键基础设施,承担着连接不同网络的重要桥梁作用。根据参考资料的分析,网关在网络通信中主要承担以下五大核心功能: 网关的主要功能分析 功能类别具体作用实现机制典型应用场景协议转换…...

基于GA - LSSVM的数据回归预测:Matlab实现与交叉验证

基于遗传算法优化算法优化最小二乘支持向量机(GA-LSSVM)的数据回归预测 GA-LSSVM回归 matlab代码,采用交叉验证抑制过拟合问题注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上在数据预测领域,遗传算法优化最小二乘支持向量机(GA …...

SEW 31C450-503-4-00移动变频器

SEW 31C450-503-4-00 移动变频器是 SEW-EURODRIVE 生产的一款工业驱动控制设备,属于 MOVITRAC 31C 系列。该变频器用于调节交流电机的转速和扭矩,通过改变输出频率和电压实现电机平稳启动、运行及调速控制,广泛应用于工业传动、自动化设备和移…...

OpenClaw接入企业飞书机器人风险与防护

将 OpenClaw(原名 Clawdbot/Moltbot)接入企业飞书机器人,在带来高效 AI 协作的同时,也面临着严重的安全与合规风险。以下是核心风险及对应的规避策略: 一、 核心风险分析 提示词注入与控制权接管 (Prompt Injection) 风…...

擎策·知海全球专利数据库 检索赋能创新 让每一份研发投入都有价值

科技创新的价值,在于突破与落地,而无效研发、方向偏差,往往让大量研发投入付诸东流。对于企业研发人员、高校科研人员、发明人等各类科技创新者而言,一款专业、实用的专利数据库,不仅是检索工具,更是规避研…...

投标路上的那些 “怕“ 与 “难“作为投标方,你是否也有过这些困扰?

怕不小心触碰合规红线,一份标书细节疏漏就可能导致废标;怕围串标风险波及自身,项目竞争中 "躺枪" 却无从自证;怕评审环节信息不透明,技术、商务得分逻辑模糊,结果难预判;怕流程繁琐耗…...

基于VMD-SSA-LSTM算法的多维时序光伏功率预测模型——MATLAB实现与算法优化探索

基于VMD-SSA-LSTM的多维时序光伏功率预测--MATLAB 代码运行效果如下,可定做其他算法优化光伏功率预测的玄学程度堪比天气预报,特别是遇到多云转晴再转雷阵雨的极端天气。传统LSTM模型在这种多维时序场景下就像个只会背公式的学渣——考试总在及格线徘…...

springboot基于微信小程序的钓鱼交友与渔具回收系统

基于 SpringBoot 和微信小程序的钓鱼交友与渔具回收系统是一款专为钓鱼爱好者打造的综合性平台,借助 SpringBoot 的高效后端处理能力和微信小程序的便捷性,实现钓鱼爱好者之间的社交互动以及闲置渔具的回收利用,旨在为钓鱼爱好者提供交流平台…...

基于MATLAB实现凸轮轮廓设计及计算最优化参数,输出推程和回程最大压力角与最小曲率半径等结果

基于matlab的凸轮轮廓的设计计算与绘图 计算此结构的最优化参数,根据其原理输出推程和回程的最大压力角、最小曲率半径等相关结果。 程序已调通,可直接运行。凸轮设计这玩意儿看起来简单,实际玩起来全是细节。今天咱们用Matlab搞个直动滚子从…...

元脉网络旗舰级本土芯片交换机S12700 打造数智化园区新引擎

在数字经济与产业变革深度融合的时代背景下,园区作为经济发展与科技创新的核心载体之一,正迎来全方位的数智化变革浪潮。近日,元脉网络推出基于本土芯片设计的旗舰级园区核心交换机——S12700系列,兼具无阻塞转发、多维可靠、全栈…...