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.