Hallo, ich habe ein Problem mit meinem Leonardo, bei dem ich die UART (RX/TX) Schnittstelle (welche gleichzeitig auch für USB mitverwendet wird) verwenden möchte. Wenn ich den Leonardo das erste mal an Power Supply hänge, muss ich einmal die Kommunikation mit meinem Interface (nicht PC) starten (welche nicht klappt), dann die Reset Taste drücken und anschließend scheint die UART Schnittstelle richtig konfiguriert zu sein, da es dann fehlerfrei läuft. Mache ich was falsch, oder liegt das an der gleichzeitigen Nutzung als USB Interface? Was ich noch dazu sagen muss, ich verwende in diesem Fall weder das Monitoring der IDE noch hängt es per USB am PC. Nach dem flashen verwende ich den Leonardo "autonom". Vielen Dank schonmal für eure Hilfe.
Naja das sind ja 2 verschiedene Schnittstellen.. eigentlich sogar 3. 1. Einige Sekunden nach reset Bootloader 2. Dann wechselt der Treiber in USB Serial Interface 3. Hast du noch das Hardware basierte Serial das mit dem USB Serial nix zu tun hat. Wie du das nun haben willst ist nicht ganz ersichtlich.. vielleicht braucht die Com gegenstelle auf der anderen seite zu lange zum hochfahren.. wobei das ja eigentlich Plug&Play sein sollte.
Also ich habe das gleiche Programm auf einem Mega2560 laufen und dort habe ich nicht solche Schwierigkeiten. Kann mir da jemand weiterhelfen warum es beim Leonardo nicht vernünftig läuft. Schließlich verwende ich auch den Befehl Serial1 ähnlich wie beim Mega2560 dort gibt es Serial1...3
Beim Leonardo ist Serial0 ein reines USB Interface wo auch nur USB was lesen und schreiben kann (USB-CDC-Device). Serial1 hingegen sind D0 und D1 für direkte TTL Serial Verbindung. Hast du die Warteschleife im Setup: Serial.begin(9600); // while the serial stream is not open, do nothing: while (!Serial) ; Norbert V. schrieb: > ich habe ein Problem mit meinem Leonardo, bei dem ich die UART (RX/TX) > Schnittstelle (welche gleichzeitig auch für USB mitverwendet wird) So stimmt das ja nicht wenn Du Serial1 benutzt.. versuche das mal zeitlich zu experimentieren welches von beiden geräten zu früh/spät ist.. bzw was passiert wenn Du Usb am Rechner hast.. ggf. mal einige Debug Outputs auf Serial0 legen?
Wenn ich USB am Rechner bzw. Leonardo dran habe funktioniert es ohne Reset, nur wenn ich den Leonardo "autonom" laufen lassen will habe ich diese Schwierigkeiten. Ich verwende Serial1, das ist korrekt, denn ich möchte RX/TX verwenden welches eigentlich abgekoppelt ist beim Leonardo, da hast du recht. Diese while loop im Setup, muss die für Serial und Serial1 drin sein? Wenn ich sie für Serial hinein nehme und nichts über USB kommuniziere werde ich hier ewig drin fest sitzen oder nicht?
Norbert V. schrieb: > Diese while loop im Setup, muss die für Serial und Serial1 drin sein? > Wenn ich sie für Serial hinein nehme und nichts über USB kommuniziere > werde ich hier ewig drin fest sitzen oder nicht? Falls das Manual nichts anderes sagt, würde ich erwarten, dass die while-Schleife jeweils für diejenige serielle Schnittstelle vorhanden sein muss, für die Du Serial.begin aufrufst. Im Umkehrschluss, also nicht für diejenigen für die Du die Methode nicht aufrufst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.