一、
(一)中断基本概念:CPU在处理某一事件A时,发生了另一事件B请求(中断请求)CPU暂时中断当前的工作,转去处理
事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一过程称为中断。
(二)中断的优势
1.分时操作,CPU可以分时为多个外设服务,提高了计算机的利用率。
2.实时响应,CPU能够及时处理应用系统的随机事件,系统的实时性增强。
3.可靠性高,CPU具有处理设备故障及掉电等突发性随机事件的能力,从而使系统的可靠性提高。
(三)中断函数和普通函数的异同
相同点:函数形式非常相似,中断响应过程和普通函数调用过程也非常相似。
不同点:
1.中断服务函数不需要声明,普通函数一般需要声明。
2.普通函数的执行是可以预测的;中断服务函数的执行是不可预测的。
3.普通函数的跳转是软件(函数调用语句)完成的;中断服务的跳转(中断响应)是由硬件完成的,只要发生了中断事件,并且中断被允许,硬件自动完成中断服务的跳转(中断响应)。
4.普通函数通过函数名找到被调用函数;中断服务函数通过中断信号找到中断服务函数。由此可见,中断服务函数中的函数名其实并没有什么作用。
(四)中断函数的编码注意事项
1.中断服务函数不能进行参数转递
2.在任何情况下,都不能直接调用中断服务函数
中断处理函数不能有返回值和形参,因为中断处理函数都是硬件调用(或者叫触发),没有程序给它传递参数,也没有程序接收它的返回值,其参数的传递通过全局变量的方式。
(五)中断函数的注意事项
(1)中断服务程序中应尽量避免使用延时函数和循环语句,以免影响程序的实时性。
(2)在编写中断服务程序时,应注意保存现场和恢复现场,以保证程序的正确执行。
(3)在使用多个中断时,应注意设置中断优先级,以保证高优先级中断能够及时响应。
|