Arduino Nano 两个中断代码
时间: 2023-07-03 10:16:34 浏览: 69
下面是一个简单的示例代码,用于演示如何在Arduino Nano上使用两个中断:
```
int ledPin = 13;
int count = 0;
void setup() {
pinMode(ledPin, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), blink, RISING);
attachInterrupt(digitalPinToInterrupt(3), increment, FALLING);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
void blink() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
}
void increment() {
count++;
Serial.println("Count: " + String(count));
}
```
这个示例代码将D2和D3分别连接到两个按钮,当D2引脚检测到上升沿时,将会触发blink()函数,让LED闪烁一次。当D3引脚检测到下降沿时,将会触发increment()函数,让计数器加一并在串口输出当前计数值。在setup()函数中,使用attachInterrupt()函数将D2和D3设置为外部中断引脚,并指定相应的触发方式和中断服务函数。在loop()函数中,LED会以500ms的间隔不断闪烁,而两个中断函数将会在相应的引脚状态变化时被触发。