本帖最后由 AllBlue 于 2013-8-29 16:16 编辑
外部中断的使用
1、什么是中断呢? 可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。 在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理”,相应地,在计算机执行程序的过程中,由于出现某个特殊情况(或称为“事件”),使得暂时中止现行程序,而转去执行处理这一事件的处理程序,处理完毕之后再回到原来程序的中断点继续向下执行,这个过程就是中断。 2、那我们为什么要使用中断呢? 再举一个例子,假设你有一个朋友来拜访你,但是由于不知道何时到达,你只能在大门等待,于是什么事情也干不了。如果在门口装一个门铃,你就不必在门口等待而去干其它的工作,朋友来了按门铃通知你,你这时才中断你的工作去开门,这样就避免等待和浪费时间,同样它能使得CPU的效率大大提高。 3、中断是怎样分类的呢? 产生中断请求的设备或事件称为“中断源”。从中断源来看,中断一般可分为三类: (1)由计算机硬件异常或故障引起的中断,也称为内部异常中断。 (2)由程序中执行了中断指令引起的中断,也称为软中断。 (3)外部设备(如输入输出设备)请求引起的中断,也称为外部中断或I/O中断。 在这三类中断中,外部中断我们接触得最多,好了中断相信介绍到这,大家了解的也差不多了~~~
下面我们就来介绍下Arduino的外部中断使用! 外部中断在不同的Arduino型号上位置也不同,只有外部中断发生在以下端口,Arduino才能捕获到,大部分Arduino控制板上有两个外部中断:数字0(数字端口2)和数字1(数字端口3),以下是常见的几种型号的外部中断引脚标号。
|