Forum: Projekte & Code ESP32S3 verschluckt Serielle Daten via USB


von Michael D. (etzen_michi)


Lesenswert?

Hallo, dies ist keine Frage sondern einfach eine Information da ich bei 
der Suche nach dem Fehler keine direkten Antworten gefunden hatte und 
vielleicht aber nicht der einzige bin welcher solche Probleme hatte oder 
hat.


Problem:

Per USB Seriell angesprochener ESP32S3 (gilt wahrscheinlich auch für 
ESP32S2 und die anderen mit USB Interface) bekommt größere Datenpakete 
per COM Interface zugesendet, verliert aber grob die Hälfte.


Vermutung:

Wenn ich es richtig sehe ist bei Verwendung der USB Seriell 
Schnittstelle die Baudangabe irrelevant da die Daten mit einer stark 
höheren Geschwindigkeit übertragen werden. Diese Geschwindigkeit scheint 
so hoch zu sein, dass selbst ein
1
while(Serial.available()>0) {
2
  Serial.read()
3
}
die Daten nur halb so schnell ließt wie diese Übertragen werden.


Lösung:

Vergrößern des Empfangsbuffer mit
1
Serial.setRxBufferSize(RXBUFFERSIZE);
vor
1
Serial.begin(BAUD);

Arduino 1.8.19, ESP32 Core V2.0.8

: Bearbeitet durch User
von Martin B. (ratazong)


Lesenswert?

Michael D. schrieb:
> Arduino 1.8.19

kleiner Zusatz:

ich setze auf die idf. Da kann man die Puffergrößen mit menuconfig 
einstellen. Die sind defaultmässig sehr klein.

Es lohnt sich auch an die andere Richtung zu denken (ESP sendet Daten), 
da wirkt die Erhöhung der Puffergröße Wunder. Ich schaff da 6 Mbit/s. 
Wie das beim Arduino geht weiß ich aber nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.