Ich arbeite mit einem Code für entfernte Temperatursensorknoten. Sie schalten die Debug-Schnittstelle ein und aus, je nachdem, ob etwas an die serielle Schnittstelle angeschlossen ist oder nicht.
Der Code ist auf Github hier . Zeile 111 ist die interessierende Zeile:
if (Serial) debug = 1; else debug=0; //if serial UART to USB is connected show debug O/P.
Eine einfache Frage: Wie funktioniert das auf Hardware- und Softwareebene? Ich kann in HardwareSerial oder Stream nichts sehen, was true / false zurückgeben würde, wenn etwas verbunden wäre oder nicht.
Beachten Sie, dass ich nicht sicher bin, ob es tatsächlich funktioniert. Dieser einfache Test zeigt an, dass er nicht funktioniert, da die LED unabhängig vom Vorhandensein eines seriellen Adapters oder einer seriellen Verbindung blinkt:
boolean debug;
const int toggle = 6;
void setup()
{
if (Serial) debug = 1; else debug = 0;
pinMode(toggle, OUTPUT);
digitalWrite(toggle, LOW);
if (debug)
{
Serial.begin(9600);
Serial.println("Setup");
digitalWrite(toggle, HIGH);
delay(1000);
digitalWrite(toggle, LOW);
}
}
void loop()
{
if (debug)
{
Serial.println("Loop");
digitalWrite(toggle, HIGH);
delay(1000);
digitalWrite(toggle, LOW);
delay(1000);
}
}