外部中断在不同的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口均可 | |||||
例程
外部中断的使用也是非常简单的,下面我们来看一个官方提供的例程。
int pin = 13;
volatile int state = LOW;
void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE);//当int.0电平改变时,触发中断函数blink
}
void loop()
{
digitalWrite(pin, state);
}
void blink()//中断函数
{
state = !state;
}
Arduino外部中断详解与应用示例

本文介绍了Arduino中外部中断的功能和不同型号板子上的中断引脚位置,如UNO、Mega2560和Leonardo。重点阐述了一个简单的外部中断使用例程,展示了如何通过attachInterrupt函数设置中断,并在中断发生时执行blink函数,实现LED状态翻转。
417

被折叠的 条评论
为什么被折叠?



