Serile Ausgabe

Hallo Zusammen

Habe einen Mega moechte die gleichen Daten
ueber Serial1 Serial2 Serial3 ausgeben
gibt es eine Moeglichkeit das Ich das nicht dreimal
Schreiben muss sondern nur einmal
vieleicht mit Define

bye juergen

Wirklich nur Senden? Nichts empfangen? Dann reichen Drähte, um ein Tx Signal an 3 Empfänger anzuschliessen.

Ansonsten vielleicht mit einer Funktion?
size_t printAll(const char* msg) {
Serial1.print(msg);
Serial2.print(msg);
return Serial3.print(msg);
}

Hat den Nachteil, dass du das für println und für alle verwendeten Varianten machen müsstest. Also z.B.
size_t printAll(float, int Stellenzahl);

Oder ordentlich mit einer wie HardwareSerial von Stream abgeleiteten Klasse, bei der du nur die Funktion virtual size_t write (uint8_t); aufbohren musst.

Da mir das Ganze aber seltsam vorkommt, lassen wir die Details und Fleissarbeit erstmal weg...

Hallo Zusammen

Hallo michael_x

Ich dachte es geht ueber #define
#define serln Serial.println

serln("serln = Hello World");
ergibt serln = Hello World

man koennte 3 mal define machen
3 mal durch eine Scleife laufen lassen
aber Ich werde es dann drei mal schreiben

Ich danke dir michael_x

bye juergen

gibt es eine Moeglichkeit das Ich das nicht dreimal
Schreiben muss sondern nur einmal
vieleicht mit Define

Klar!

#define PrintLnDreiMal(...) \
 Serial1.println(__VA_ARGS__);  \
 Serial2.println(__VA_ARGS__);  \
 Serial3.println(__VA_ARGS__);
 PrintLnDreiMal("Alle sind doof, auszer Mutti!");

Ungetestet

Schau dir an wie Makros funktionieren. Du musst in diesem Fall Parameter übergeben. Und mit einem variadischen Makro (VAR_ARGS) ist die Anzahl der Parameter egal. Das heißt man kann .println(), .println(10) und println(10, HEX) mit einem Makro abdecken.

Außerdem braucht du das zweimal. Einmal für print() und einmal für println()!

Schau dir an wie Makros funktionieren

Ich staune immer wieder, welche Helferlein mir noch alle fehlen. Aber dazu kratze ich vermutlich einfach gemütlich genug auf der Oberfläche herum - oder mache mir das Leben unnötig schwer. Aber wenn man's nicht besser weiß, geht's halt auch umständlich.

Hallo Zusammen

Geiles Macro klappt sogar mit Softserial

Ich Danke allen fuer Eure Hilfe

bye juergen