int pinInterrupt = 2; //定义中断管脚
void onChange()
{
while ( digitalRead(pinInterrupt) == LOW ){}
//delay(1000); //挂起不工作了,直到管脚2恢复高电平
}
void setup()
{
//设置管脚为输入:
pinMode( pinInterrupt, INPUT);
//Enable中断管脚,中断服务程序为onChange(),监视引脚变化:
attachInterrupt( digitalPinToInterrupt(pinInterrupt), onChange, CHANGE);
}
void loop()
{
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(1000);
Serial.println("-");
}
/*用于测试按钮工作的部分
#define BT 2
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(BT, INPUT);
//while(digitalRead(BT))
//{Serial.println(digitalRead(BT));delay();}
}
void loop()
{
if(digitalRead(BT))
{
digitalWrite(13, HIGH);
//delay(500);
}
else
{
digitalWrite(13, LOW);
//delay(500);
}
Serial.println("-");
}*/