不使用多线程的情况下,怎么让不同的led以不同频率同时闪烁?
可以参考下面的写法:
int ledPin1 = 12;
int ledPin2 = 13;
unsigned long previousMillis1 = 0;
unsigned long previousMillis2 = 0;
const long interval1 = 500; // 500ms = 0.5s
const long interval2 = 1000; // 1000ms = 1s
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis1 >= interval1) {
previousMillis1 = currentMillis;
// 如果时间到了,就切换 LED1 的状态
digitalWrite(ledPin1, !digitalRead(ledPin1));
}
if (currentMillis - previousMillis2 >= interval2) {
previousMillis2 = currentMillis;
// 如果时间到了,就切换 LED2 的状态
digitalWrite(ledPin2, !digitalRead(ledPin2));
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话: