目录
一、硬件
1、硬件介绍
2、Arduino外部
(1)中断引脚
(2)中断触发方式
(3)中断函数
二、外部中断0
三、外部中断0、外部中断1
一、硬件
1、硬件介绍
Adruino单片机、按钮、继电器。
按钮:输入低电平读取有效。
继电器:输出低电平继电器吸合。
系统整体
按钮
2、Arduino外部
(1)中断引脚
(2)中断触发方式
(3)中断函数
(1) attachInterrupt(interrupt, function,mode)
功能:对中断引脚进行初始化配置
参数: interrupt,中断编号,注意,这里的中断编号并不是引脚编号
function,中断函数名,当中断被触发后即会运行此函数所代表的中断函数。
mode,中断模式。上升沿信号触发还是下降沿信号触发
(2)detachInterrupt(interrupt)
功能:禁用外部中断
参数: interrrupt,需要禁用的中断编号
二、外部中断0
外部中断0,对应引脚2。程序使用下降沿触发方式。
代码
bool state = true;
void setup()
{Serial.begin(9600); attachInterrupt(0,StateChange,FALLING); //外部中断0,对应输入的引脚2。下降沿触发。StateChange:中断函数pinMode(5,OUTPUT); // pinMode(2,INPUT_PULLUP);
}void loop()
{if(state){digitalWrite(5,HIGH);}else{digitalWrite(5,LOW);}
}//中断函数
void StateChange()
{state= !state;
}
三、外部中断0、外部中断1
代码
bool rstate = false; //外部中断0,控制输出
bool bstate = false; //外部中断1,控制输出
void setup()
{Serial.begin(9600); attachInterrupt(0,RStateChange,FALLING); //外部中断0,对应输入的引脚2。下降沿触发。对应中断函数:StateChange()attachInterrupt(1,BStateChange,FALLING); //外部中断1,对应输入的引脚3。下降沿触发。对应中断函数:BStateChange()pinMode(5,OUTPUT);pinMode(7,OUTPUT);pinMode(2,INPUT_PULLUP);pinMode(3,INPUT_PULLUP);
}void loop()
{digitalWrite(5,rstate);digitalWrite(7,bstate);
}//外部中断0函数
void RStateChange()
{rstate = !rstate;bstate = false;
}
//外部中断1函数
void BStateChange()
{bstate = !bstate;rstate = false; }