##本例主要是实现利用中断控制LED灯的亮灭,中断源是通过抬起或按下按键 。
中断函数的格式:attachinterrupt(interrupt,function,mode)
interrupt : 中断源(在Arduino中,中断源可选值为0或1,一般分别对应2号和3号引脚)
function : 中断函数(其中不能使用delay延时)
mode:中断触发条件 LOW(低电平触发)、CHANGE(变化时触发)、RISING(低电平变为高电平触发)、FALLING(高电平变为低电平触发)
#define PIN_LED 16
#define KEY 2
volatile int state = LOW;
void setup()
{
pinMode(PIN_LED,OUTPUT);
pinMode(KEY,IUPUT);
digitalWrite(PIN_LED,LOW);//初始化为低电平
attachinterrupt(KEY,led_change,CHANGE);
}
void led_change()
{
state = !state;
digitalWrite(PIN_LED,state);
}
void loop()
{
}