Warum nimmst du nicht einfach Serial.XXX ? Das Konstrukt, das du da hast, beißt sich, auch wenn's kompiliert. Schau dir im Code die Definition von Serial an.
Ich bekomme einen Haufen Fehler, angefangen mit sketch.ino:1:9: error: expected constructor, destructor, or type conversion before ';' token
setup() {
wenn vor
setup() { ... }
bzw.
loop() { ... }
der Returnwert-Datentyp void fehlt
OOP:
Man kann doch jederzeit Logger Instanzen erzeugen!
Mit beliebigen Zielen.
Ich sehe keine Notwendigkeit für so eine " globale/statische Pointer Variable".
Innerhalb einer solchen Instanz kann das Logziel natürlich eine Referenz sein.
Im void setup() machst du zB folgenden Code rein. Damit initialisierst du es quasi.
void setup(){
Serial.begin(9600); // oder andere baudrate
}
Im loop oder wo auch immer du dann die Serial Connection verwenden willst kannst du zB folgendes machen. Wichtig ist das Serial.available(). Meines Wissens musst du eine Verbindung zu irgendwas haben weil du sonst nix senden oder empfangen kannst.
void loop() {
// Siehe post #15
if (Serial.available() > 0) {
String datenEmpfangen = Serial.readString(); // Beispiel zum Lesen
Serial.print("Working"); // Beispiel zum Senden
}
}
In meinem Fall hab ich meinen Arduino mit dem PC via USB verbunden und mittels des Seriellen Monitors in Arduino IDE (Ctrl + Shift + M) kann ich so Daten zum Arduino senden und Empfangen.
Zudem reicht: if (Serial.available()) {
Denn alles von Null verschiedene wird als true gewertet
Wenn man die Verbindung prüfen will: if (Serial) {
Was aber nur auf µC mit nativen USB, z.B. Leonardo Sinn macht.
Der z.B. UNO merkt nix von aktiven USB Verbindungen.
available heißt literally "verfügbar" lol melds beim creator mit nem github issue mir gehts in erster linie zu helfen nicht um klugzuscheißern und im endeffekt macht es ja was es soll
vor allem ist es im endeffekt eh das gleiche nur mit anderen worten