外部中斷在不同的Arduino型號上位置也不同,只有外部中斷發生在以下端口,Arduino才能捕獲到,以下例舉了常見的幾種型號的外部中斷引腳標號。
型號 | int.0 | int.1 | int.2 | int.3 | int.4 | int.5 | UNO\Ethernet | 2 | 3 | | | | | Mega2560 | 2 | 3 | 21 | 20 | 19 | 18 | Leonardo | 3 | 2 | 0 | 1 | | | Due | 所有IO口均可
| 中斷模式就是你的中斷觸發方式。在大多數arduino上有以下四種觸發方式:
LOW 低電平觸發
CHANGE 電平變化,高電平變低電平、低電平變高電平
RISING 上升沿觸發
FALLING 下降沿觸發
HIGH 高電平觸發(該中斷模式僅適用于Arduino due)
在定義中斷函數后,要使用外部中斷,你只需要在程序的Setup部分配置好中斷函數即可,配置函數如下:
attachInterrupt(interrupt, function, mode);//interrupt為你中斷通道編號,function為中斷函數,mode為中斷觸發模式
需要注意的是在Arduino Due中,中斷設置有點不同:
attachInterrupt(pin, function, mode); //due 的每個IO均可以進行外部中斷,所以這里第一個參數為pin,即你使用的引腳編號。
如果在程序中途,你不需要使用外部中斷了,你可以用中斷分離函數detachInterrupt(interrupt );來取消這一中斷設置。
同樣在Arduino Due上,該函數為detachInterrupt(interrupt );。
|