中断的概念:
我们通过生活中一个简单的例子来让大家了解中断。当你正在家中看书时,突然电话铃响了,你停止看书,去接电话,和来电话的人进行交谈,通话结束后回来继续从刚才停止的位置看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。现在大家是不是对中断有了一个清晰地了解呢?
中断的分类:
Arduino中的中断可以分为两类:外部中断和定时中断。下面我就对其做一个详细的介绍。
外部中断: 一般是指由外设发出的中断请求,即中断源在外部如:键盘中断、打印机中断等。外部中断需要外部中断源发出中断请求才能发中断。
定时中断:主程序在运行的过程中听一段时间就进行一次中断,执行中断服务程序,不需要中断源的中断请求触发,这是有的自动进行的。
我们可以根据实际情况的不同来确定使用什么样的中断。
中断的函数:
一、首先我们要介绍的是关中断和开中断即Interrupt()和noInterrupt()函数,用法如下
可以被中断的代码
Interrupt()
不可以被中断的代码
noInterrupt()
可以被中断的代码
二、外部中断
1. attachInterrupt(interrupt, function, mode)
1)interrupt:中断号,UNO只能使用 0或1 ,即代表D2 与D3口。
2)function:调用中断函数,中断发生时调用的函数。
3)mode:中断触发模式。
UNO R3 支持四种中断触发模式