unsigned long previousMillis = 0;
boolean delayState = false;
void setup() {
pinMode(7, INPUT_PULLUP);
Serial.begin(115200);
}
void loop() {
///////////////////////按键引脚触发延时//////////////////////////
if (digitalRead(7) == LOW) {
delayState = true;
}
if (delayState == true) {
delay(100);
if (doDelayMillisTime(5000 , false) == true) {
Serial.println("key pin delayMillisTime!");
delayState = false;
}
}
////////////////////////延时//////////////////////////////
if (doDelayMillisTime(5000 , false) == true) {
Serial.println("delayMillisTime!");
}
}
boolean doDelayMillisTime(long interval , boolean state) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
state = !state;
}
return state;
}
Arduino使用 millis()延时实现
最新推荐文章于 2026-05-27 11:33:19 发布
博客围绕Arduino使用millis()进行延时实现展开,虽未给出具体内容,但可知聚焦于Arduino这一嵌入式开发领域,利用millis()函数达成延时功能,属于嵌入式开发相关信息技术内容。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
7869

被折叠的 条评论
为什么被折叠?



