0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中断和异常?傻傻分不清楚

冬至子 ? 来源:嵌入式BugMaker ? 作者:BugMaker ? 2023-08-10 11:18 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在一段时间里,我都认为中断与异常没有很明显的区别,因为表现出来都是当前运行中的程序被打断,然后执行中断向量表中的函数,但是其实这两个还是有区别的。

中断和异常分别属于CPU的外因和内因。例如CAN接收中断、GPIO边沿触发中断都属于中断范畴;而算数溢出、访问地址越界、除0等导致的则属于异常。

图片

举一个例子来解释,当你在家玩游戏时,如果此时快递小哥敲门,你就需要暂停手头的游戏签收一下快递,这个时候的快递小哥就属于是中断,是属于外因打断了你玩游戏;当你继续玩游戏时,突然你肚子很痛要上厕所,则此时暂停玩游戏就属于是异常,是属于自身身体出问题的内因打断自己玩游戏。

中断的引入 ——为了支持CPU与设备之间的并行操作

◆当CPU启动外设进行输入/输出后,外设便可以独立工作,CPU转去处理其他与此次输入/输出不相关的事宜;当外设完成输入/输出后,通过向CPU发送中断报告此次输入/输出的结果,让CPU决定如何处理后续事宜。

异常的引入 ———表示CPU执行指令时本身出现了问题

◆如算术溢出、除零、取数时的奇偶错,访存地址时越界或执行了“陷入指令”等,这时硬件改变了CPU当前的运行流程,转到相应的错误处理程序或异常处理程序或执行系统调用

在Cortex-M内核中,有三个中断屏蔽寄存器,分别是PRIMASK、FAULTMASK、BASEEPRI。如下表所示,通过配置这三个寄存器,可实现对中断、异常的管理。

图片

为了控制中断与异常,Cortex-M内核专门设定了CPS指令,有如下四种用法:

CPSID I ;PRIMASK = 1 ;关中断

CPSIE I ;PRIMASK = 0 ;开中断

CPSID F ;FAULTMASK = 1 ;关异常

CPSIE F ;FAULTMASK = 0 ;开异常

I为Interrupt(中断)、F为Fault(异常)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1995

    浏览量

    133320
  • 寄存器
    +关注

    关注

    31

    文章

    5447

    浏览量

    125382
  • GPIO
    +关注

    关注

    16

    文章

    1289

    浏览量

    54425
  • 中断控制器
    +关注

    关注

    0

    文章

    61

    浏览量

    9708
  • Cortex-M
    +关注

    关注

    2

    文章

    231

    浏览量

    30495
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    各位大哥 小弟我摊上事啦!!!求助芯片 ALS1176

    VP1176 和芯片6A1176简直是傻傻分不清楚呀!!我把要买的芯片本来是买6A1176的,我买成了vp1176我是不是死定了················
    发表于 06-27 16:06

    如果修改默认登录名和密码

    RT。。大家都知道登陆用root很方便,但是也给我带来了困扰。怎么修改它呢?apache2?还是pam.d。傻傻分不清楚
    发表于 07-04 13:30

    请问到底该用哪种方式移植OS_CRITICAL_METHOD?

    如题,傻傻分不清楚,求大神指点!
    发表于 09-10 02:24

    芯片,半导体,集成电路,傻傻分不清楚

    `芯片,半导体,集成电路,傻傻分不清楚?一、什么是芯片芯片,又称微电路(microcircuit)、微芯片(microchip)、集成电路(integrated circuit, IC),是指内含
    发表于 04-22 11:55

    工业互联网和工业4.0傻傻分不清楚

    工业互联网是什么?工业互联网的网速快吗?工业互联网是物联网概念的重新包装么?工业互联网和工业4.0,傻傻分不清楚?工业互联网已经渗透到了哪些领域?
    发表于 07-12 06:51

    不要再对各种电机、舵机傻傻分不清楚了 精选资料分享

    你是否和木木一样,想要自己diy一个机器人,却对电机、舵机、步进电机、伺服电机、数字舵机、模拟舵机、串行总线舵机……一大堆名词傻傻分不清楚?管你到底是啥,在我这都叫“马达”,哈哈哈哈哈!如果你也是这样可可爱爱、没有脑袋,那么或许你应该抽出几分钟时间阅读一下这篇文章。
    发表于 09-01 08:31

    图像不清楚与矩阵切换器的关系有哪些?

    图像不清楚与矩阵切换器的关系有哪些?     设备图像不清楚主要包括:亮度低、边缘聚焦不好、重影(
    发表于 04-09 16:43 ?1038次阅读

    科普:石墨烯电池、石墨烯基电池二者有何不同?别傻傻分不清

    很多吃瓜群众是不是已经对“石墨烯电池”和“石墨烯基电池”傻傻分不清楚了。
    发表于 01-23 15:40 ?5955次阅读

    芯片、半导体、集成电路还在傻傻分不清楚

    芯片,半导体,集成电路,傻傻分不清楚? 很多人都会有这样的烦恼,希望今天分享的文章能帮助到大家~一起学习!一起进步! 一、什么是芯片? 芯片,又称微电路、微芯片、集成电路(integrated
    的头像 发表于 09-28 17:13 ?3.1w次阅读

    别再傻傻分不清楚光纤和网线了

    目前网线和光纤就成为了网络信号传输中最重要的两种载体,如何选择你清楚吧?这两者的区别你了解吗?下面就看看clan通讯小编的解答吧。
    的头像 发表于 12-20 09:54 ?7530次阅读

    教你轻松区分输入阻抗、特性阻抗、瞬时阻抗

    有时候,发现对各种阻抗傻傻分不清楚,“好记性不如烂笔头”,那就把它们一个个写下来。
    的头像 发表于 03-15 17:20 ?1643次阅读
    教你轻松区分输入阻抗、特性阻抗、瞬时阻抗

    强弱电傻傻分不清楚 强电弱电怎么区别-科兰

    你还傻傻分不清楚强弱电吗?清点弱电怎么区别您知道吗?因为高压而称之为强电,因为低压而称之为弱电吗?今天科兰小编将为大家一一解答这些问题,揭开强弱电的神秘面纱。 强电弱电怎么区别? (1)交流频率
    的头像 发表于 05-23 10:40 ?3085次阅读
    强弱电<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b> 强电弱电怎么区别-科兰

    电源符号,你还傻傻分不清楚

    注意:上面三个电源符号,本质上都是GND,主要是为了PCB走线的需求,有一些单点接地或者多点接地的处理,为了避免干扰,才有所区分。
    的头像 发表于 07-16 15:31 ?4417次阅读

    FOSB和FOUP傻傻分不清楚

    如果我们发挥想象,一片一片的wafer(晶圆)在这FAB(晶圆厂)大乐园里搭乘着各种自动化移动工具(比如AGV(无人运载车)、ARM(机械手臂)、OHT(天车)),一会儿去泡个澡(浸泡清洗),一会儿去加工一下,那么,FOSB(前开晶圆运输盒)、FOUP(前开式晶圆传送盒)就可以被想象成是它们的搭乘车厢,有的对外移动,有的内部移动,当然也不能忘了还有敞篷式的OPEN CASSETTE(开放式装载盒)。
    的头像 发表于 12-22 16:08 ?3.8w次阅读

    别再傻傻分不清!USB和TYPE-C的全面解析

    别再傻傻分不清!USB和TYPE-C的全面解析
    的头像 发表于 04-26 15:51 ?5461次阅读