嵌入式之家

 找回密码
 现在注册

QQ登录

只需一步,快速开始

搜索
热搜: ARM cortex
查看: 1746|回复: 4

什么情况下系统进入中断?

[复制链接]

该用户从未签到

55

主题

168

帖子

1767

积分

金牌会员

Rank: 6Rank: 6

积分
1767
发表于 2015-11-26 14:17:03 | 显示全部楼层 |阅读模式
     一直不太了解系统在什么样的情况下会进入中断,进入中断是为了干什么?这时,就需要全面的了解一下有关中断的来龙去脉了。
一、中断的定义
     什么是中断,我们从一个生活中的例子引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。
     所以,中断就是CPU在执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。我们常用的中断为:串口中断(0、1、2、3),定时器中断(0、1、2)等。
二、中断的嵌套与优先级处理
     这里存在一个优先级的问题。优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况。不管何种情况下,系统总会优先处理较高优先级的中断。
三、中断的响应过程
        中断响应可以分为以下几个部分:
         1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。
         2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程
            者无关。在这5个入口地址处存放有中断处理程序。
         3、执行中断处理程序。
         4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。
It is over!{:soso_e142:}
回复

使用道具 举报

该用户从未签到

55

主题

168

帖子

1767

积分

金牌会员

Rank: 6Rank: 6

积分
1767
 楼主| 发表于 2015-11-26 14:20:37 | 显示全部楼层
{:soso_e163:}{:soso_e179:}
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

50

帖子

222

积分

版主

Rank: 7Rank: 7Rank: 7

积分
222
发表于 2015-11-26 19:32:20 | 显示全部楼层
{:soso_e179:}
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

115

帖子

1543

积分

金牌会员

Rank: 6Rank: 6

积分
1543
发表于 2015-11-26 22:53:38 | 显示全部楼层
{:soso_e179:}
回复 支持 反对

使用道具 举报

该用户从未签到

33

主题

97

帖子

885

积分

高级会员

Rank: 4

积分
885
发表于 2015-11-27 15:08:27 | 显示全部楼层
好,很详细
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 现在注册

本版积分规则

QQ|Archiver|手机版|小黑屋|嵌入式之家 ( 京ICP备14038168号-1 )

GMT+8, 2025-5-2 14:12 , Processed in 0.020136 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表