0
저는 C++로 코딩하는 초보자이며 직렬 핀을 통해 입력 핀을 깜빡이게하려고 노력하고 있습니다.하지만 꺼지라고 말하면 깜박 거립니다. 문제는 코드의 맨 아래에 있다고 생각합니다.Arduino 함수는 다른 함수를 호출 한 후 루핑을 계속합니다.
int ledPin = 13;
String readString;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
Serial.println("Serial Blinker (Input 'on' to blink and 'off' to stop blinking)");
}
void loop() {
readString = "";
while (Serial.available()) {
delay(3);
char c = Serial.read();
readString += c;
}
readString.trim();
if (readString.length() > 0) {
if (readString == "on") {
Serial.println("switching on");
next();
}
}
}
void next() {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
readString = "";
while (Serial.available()) {
delay(3);
char c = Serial.read();
readString += c;
}
readString.trim();
if (readString.length() > 0) {
if (readString == "off") {
Serial.println("switching off");
digitalWrite(ledPin, LOW);
}
}
next();
}