Gast
#261656
hallo, Folgendes Problem bei einer übertragung kippen mir immer mehrere Bits was kann i dagegen tun?? z.b ich sende c2 im speicher steht dann c3.... atmega8 RS232 baud2400-9600 nicht größer
|
Anzeige
|
Kippen von einzelnen Bits
Gast
#261656
hallo, Folgendes Problem bei einer übertragung kippen mir immer mehrere Bits was kann i dagegen tun?? z.b ich sende c2 im speicher steht dann c3.... atmega8 RS232 baud2400-9600 nicht größer
Gast
#261657
Kann alles mögliche sein, kann man so nicht sagen. 9600 Baud bis 10 m sollte überhaupt kein Problem darstellen und nahezu immer fehlerfrei laufen. Wenn nicht, ist irgendwo der Wurm drin oder du schaltest große Elektromotoren oder Leuchtstoffröhren in der Nähe. Natürlich sollte man auch ein Protokoll fahren, was fehlerresistent ist. Passt Dein Quarz zu der Baudrate?
>> was kann i dagegen tun??
Wenn der Rest stimmt und die Ursache Störungen/Rauschen der Umgebung
ist:
-Kanalcode verwenden (z.B. 3-fachen Wiederholcode benutzen, d.h.. 3 mal
das gleiche senden und dann Majoritätsentscheidung).
-CRC generieren und bei Fehler Daten neu anfordern.
... es gibt viele Möglichkeiten (und Fehlerquellen im Programm/Aufbau)
Gast
#261659
Danke für die antwort, es gibt weder große motoren noch lange leitungen noch sonstige beeinflussungen. Kann es sein dass obwohl ich dass zeichen richtig empfange, es falsch gespeichert wird??? ich schreibe di empfangenen bit bzw. Bytes in das flash( Entwickle eine selfprogrammingmode)....
Gast
#261660
Wie empfängst du? Mit Hardware- oder Software-Uart? Als weitere Fehleruelle könnte ich mir das Timing beim Flash-schreiben als Ursache vorstellen. Schreib doch erst mal nur ins RAM und prüfe dort. Dann kannst du den Fehler schon mal einkreisen.
Gast
#261661
Auf jeden Fall sollte man erstmal schauen, dass bei diesen Bedingungen die Übertragung wirklich nahezu fehlerfrei ist, ehe man ein fehlertolerantes Protokoll aufsetzt, was ja die Ursache für das Problem nicht korrigiert. Das ist etwa so, wie bei Windows oft vorgegangen wird: Jede Menge Fehler, die nicht korrigiert werden, dafür jede Menge Code, der die Fehler wieder ausbügelt und versteckt.
Gast
#261662
Ich empfange mit einer Hardware uart!! Passt Dein Quarz / Vorteiler? Was ist, wenn Du probehalber mal die Baudrate runterdrehst?
Gast
#261664
> Das ist etwa so, wie bei Windows oft vorgegangen wird: Jede Menge > Fehler, die nicht korrigiert werden, dafür jede Menge Code, der die > Fehler wieder ausbügelt und versteckt. Oder wie bei GCC. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|