Gast
#620277
Ich bekomm meine Datenübertragung noch nicht ganz fehlerfrei hin. Passend zu den 20MHz Systemtakt des ATMEga644 sind: Baudraten: 2500000, 1250000, 625000, 500000, 312500, 250000 ich hab sie alle getestet. Bei 312500 bekomme ich keine Fehler. Bei den höheren sind übertragungsfehler da. aber nur ab und zu. nicht immer. D.h. eine gute sekunde klappts wunderbar. danach kommen für 0.5 sekunden verstärkt fehler. Ich benutze die UART.C library von Peter FLeury auf ATMega seite. DEn FTDI lese ich mittels D2XX. ich frage mich welche Konfiguration wohl am besten ist. gerade die timings wie latency sind mir etwas schleierhaft. Die daten des ATMEga haben 5 Byte start und endheader. Zwischendrin liegen die daten. Etwa so: StartHeader (4Byte), Datenmenge(1Byte), Paket1, Paket2, ... PaketN, Endheader Meine Routine in C++ empfängt EINZELNE Bytes. Sie sucht zyklisch die Daten durch bis der Startheader gefunden wurde. dann lese ich die DATENMENGE ein. nun weiß ich wieviele Pakete folgen. nach dem letzten Paket muss der endheader folgen. stimmen die dort empfangenen Daten nicht mit dem Endheader überein, gehe ich von einer fehlerhaften übertragung aus. Die übertragung funktioniert zu 90% fehlerfrei. Ab und zu aber leider nicht. Es scheint dass einzelne Bytes verloren gehen bei höheren Baudraten. Ich hab in den Anmerkungen viel über Latency usw gelesen. Welche PArameter sind denn für meine Übertragung geeignet? Der Mikrocontroller sendet immer eine unterschiedliche Anzahl an Paketen. Nur die beiden Header sind immer identisch! Danke für die Hilfe Patrick