bitte helfen ich bin blindMeine Serienbefehlszeile für Arduino funktioniert nicht und ich weiß nicht, warum
void commandline() {
if (Serial.available() > 0)
{
String command = Serial.readStringUntil(' ');
String commandvar = Serial.readString();
Serial.print(command);
Serial.print(" | ");
Serial.println(commandvar);
if (command == "fans" || command == "Fans" || command == "FANS")
{
Serial.println("Command Recognized");
if (commandvar == "on" || commandvar == "On" || commandvar == "ON")
{
Serial.println(" Fans are now ON");
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
}
else if (commandvar == "off" || commandvar == "Off" || commandvar == "OFF")
{
Serial.println(" Fans are now OFF");
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
else
{
Serial.println("commandvar isn't valid");
}
}
, wenn ich an der seriellen Konsole schauen und „Fans“, die Konsole spuckt senden
ausfans | on
Command Recognized
commandvar isn't valid
jede Hilfe sehr geschätzt
=========================
zusätzliche Informationen würden
1) Ich rufe Kommandozeile() von der Schleife() alle 10 Millisekunden
2) Die Fans Befehl ist nicht der einzige Befehl, den ich habe, es ist nur, dass ich sie konvertieren mit der neuen Arbeit Führungsgrößen I erstellt
3) ich bin mit dem Arduino Uno Rev 3
Der gesunde Menschenverstand würde sagen, wenn Sie einen nicht erkannten Befehl erhalten, möchten Sie ihn vielleicht ausgeben kann sehen, ob das, was Sie denken, dass Sie gesendet haben, ist, was Ihr Code denkt, empfängt es, nicht wahr? Debuggen mit einfachen Techniken zu lernen ist eine wertvolle Fähigkeit, die Sie wahrscheinlich zu lernen versuchen sollten. –
Sind Sie sicher, dass hier C++ beteiligt ist? – Gerhardh