中断服务函数的过程_20160206
来源:互联网 发布:知乎 机械 理论 编辑:程序博客网 时间:2024/05/02 12:25
- 中断对于操作系统来说非常重要,就好像机器中的齿轮,驱动各部件的动作。所以,许多人把操作系统称为是由“中断驱动”的。那么,究竟什么是中断呢?我们有如下定义:所谓中断是指CPU对系统发生的某个事件做出的一种反应,即CPU暂停正在执行的程序,保留现场后自动转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。引起中断的事件成为中断源。中断源向CPU提出进行处理的请求称为中断请求。发生中断时,被打断的暂停点称为断点。
- 中断处理一般分为中断响应和中断处理两个步骤。中断响应由硬件实施,中断处理主要由软件实施。
- 一般说来,中断响应顺序执行下述三步动作:
- 〈1〉中止当前程序的执行;
〈2〉保存原程序的断点信息;
〈3〉转到相应的处理程序。 - 中断响应后,就由软件(中断处理程序)进行相应处理。中断处理过程大致分为四个阶段:保存被中断程序的现场,分析中断原因,转入相应处理程序进行处理,恢复被中断程序现场(即中断返回)。下面对软件执行的中断处理过程做进一步介绍。
C51中断处理过程C51编译器支持在C源程序中直接开发中断过程,因此减轻了使用汇编语言的繁琐工作,提高了开发效率。中断服务函数的完整语法如下:void 函数名(void)[模式][再入]interrupt n [using r]其中n(0~31)代表中断号。C51编译器允许32个中断,具体使用哪个中断由80C51系列的芯片决定。r(0~3)代表第r组寄存器。在调用中断函数时,要求中断过程调用的函数所使用的寄存器组必须与其相同。"再入"用于说明中断处理函数有无"再入"能力。C51编译器及其对C语言的扩充允许编程者对中断所有方面的控制和寄存器组的使用。这种支持能使编程者创建高效的中断服务程序,用户只须在C语言下关心中断和必要的寄存器组切换操作。
0 0
- 中断服务函数的过程_20160206
- 中断服务函数的写法
- 中断处理过程和中断服务程序ISR的限制
- 中断处理过程和中断服务程序ISR的限制
- 嵌入式中断服务函数的编写要求
- 中断服务函数的编写要求
- stm32中断服务函数的机制
- 嵌入式中断服务函数的一些特点
- 串口1中断服务函数的解析
- STM32中断入口地址与中断服务函数的关系
- [应聘笔记系列]中断处理过程和中断服务程序ISR的限制
- ADS中调试中断函数时进不了中断服务函数的解决办法
- request_irq() 注册中断服务函数
- GCC-AVR 编写中断服务函数的注意事项
- 关于中断服务函数带来返回值的思考
- STM32是如何进入中断服务函数xxx_IRQHandler的
- 学习笔记 什么是中断向量以及配置中断服务函数的原理
- 中断的响应过程
- C#初学者对Equals方法的几个常见误解
- 代码块的作用以及一个类的创建过程:很重要
- make不是内部或外部命令
- mysql中的多行查询结果合并成一个
- Windows下搭建IOS开发环境(一)
- 中断服务函数的过程_20160206
- Tomcat学习—Tomcat的下载安装和环境变量的配置(Windows环境)
- win7中Android开发环境搭建超详细
- PLS-00103 需要下列之一时: :=
- 2016年第一包“ missing ios development signing identity for ....”
- hbase 自定义 endpoint coprocessor
- 验证是否是 邮箱||手机号
- oracle系统包—-dbms_output用法
- Android Clipboard(复制/剪贴板)