Hallo, seit einiger Zeit versuche ich über die virtuelle serielle Schnittstelle mit einem uc3b1256 zu kommunizieren (AtmelStudio 6, JTAGICE3). Mit einem Beispiel (die rs232<->usb-Brücke) aus dem ASF läuft alles so weit, dass ich mit udi_cdc_putc() Zeichen an den Rechner senden kann, die auch alle sicher ankommen. Das Problem liegt in der anderen Richtung: Wenn ich z.B. mit while(true) { if (udi_cdc_is_rx_ready()) { caRecieve_buffer[0] = udi_cdc_getc(); udi_cdc_putc(caRecieve_buffer[0]); } } ein Zeichen lese und es wieder ausgebe, gehen einige Zeichen verloren, wenn ich mit Hterm mehrere Zeichen hintereinander sende. Außerdem kommt prinzipiell das erste Zeichen, das ich sende, nicht an. Woran kann das liegen? Die Probleme treten auch auf, wenn man die Zeichen alle im Buffer zwischenspeichert und ihn erst ausgibt, wenn er voll ist. Was sicher funktioniert: Wenn ich zwei Zeichen ("gleichzeitig", also mit einmal Enter drücken) sende, kommt das zweite Zeichen sicher an. Die serielle Schnittstelle läuft bei 115200 baud, 8 db, 1 sb, even. Hat jemand eine Idee, wie man das beheben kann oder wie man vernüftig Strings ausliest? Vielen Dank schonmal! Grüße Markus
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.