int isRed = 0;
unsigned long endtime = 0;
void setup() {
pinMode(7,INPUT);
}
void loop(){
if(digitalRead(7)==LOW){
isRed = 1; //响应红外设备
//do something...
}else{
//移动开的时候执行一次
if(isRed==1){
unsigned long nowtime=millis();
isRed = 0;
endtime = nowtime + 5000; //延长5秒
}
unsigned long nowtimeNext=millis();
if(nowtimeNext>endtime){
}else{
//do something...
}
}
}
利用millis()实现Arduino定时器功能
最新推荐文章于 2025-04-08 09:46:37 发布