SoftwareSerial - Datenverlust?


guten abend liebe community :)

ich habe eine frage zur softwareserial-libary und zwar habe ich gesehen, dass es möglich ist problemlos mehrere uart-verbindungen zu realisieren (soft). es wird immer nur auf die letzte gehorcht ( bzw. durch .listen())

was passiert wenn z.b. auf serial2 gehorcht wird und serial1 gerade daten sendet gehen diese verloren?
daher muss synchronisiert werden, dass nur einer sprechen darf?

bsp:
void loop()
{
 serial1.listen();
 while (serial1.available() > 0) {
 serial1.read();
 }
  
 serial2.listen();
 while (serial2.available() > 0) {
 serial2.read();                    // und hier hat plötzlich serial1 auch lust auch zu qautschen...
 }
}


viele grüße

das wird überhaupt nicht funktionieren.

du kannst nicht einfach dauerend hin und schalten,
loop ist viel schneller als jede serielle kommunikation.

direkt nach einem umschalten sind wieviele bytes vorhanden?
richtig, keine.
super, nichts empfangen, umschalten, dann besorgen wir es dem anden kanal auf gleiche weise.
wiederholt ad nauseam.



Arduino Forum > International > Deutsch (Moderator: uwefed) > SoftwareSerial - Datenverlust?


arduino

Comments

Popular posts from this blog

Flip address is out of range arduino uno r3

Arduino Uno not uploading

Indesign and MathType fonts