【发布时间】:2021-01-08 15:48:45
【问题描述】:
我在 Arduino 上编写了一个基本代码,但是,我需要将延迟更改为 Millis。
无论我做什么,我都无法让它工作,它总是卡在红灯处,永远不会变绿。
我正在发布原始延迟代码,因为我使用 Millis 编写的代码似乎没用,并且可能会混淆我正在尝试做的事情。
const int redPin = 2;
const int yellowPin = 3;
const int greenPin = 4;
int redDuration = 10000;
int greenDuration = 5000;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
}
void loop() {
setTrafficLight(1,0,0);
delay(redDuration);
setTrafficLight(1,1,0);
delay(2000);
setTrafficLight(0,0,1);
delay(greenDuration);
setTrafficLight(0,1,0);
delay(2000);
}
void setTrafficLight(int redState, int yellowState, int greenState) {
digitalWrite(redPin, redState);
digitalWrite(yellowPin, yellowState);
digitalWrite(greenPin, greenState);
}
【问题讨论】:
-
您可以在此处查看我使用 Millis 编写的代码:codeshare.io/5Z4B4g
标签: c++ arduino arduino-uno arduino-ide arduino-c++