gunknown schrieb:
> Wenn ich das (linux) Programm gtkterm (serial port terminal) zum
> empfangen der zeichen verwende klappt alles einwandfrei. Sobald ich aber
> die libserial verwende empfange ich nur komische zeichen (die
> Einstellungen in gtkterm und der libserial stimmen überein). An einer
> fehlerhaften Baudrateneinstellung liegt das Problem nicht.
>
> Sobald ich beim senden von dem uc ein delay von 1ms einbaue klappt auch
> das empfangen über die libserial.
>
> Hat jemand eine Idee woran das liegen könnte?
In welcher Reihenfolge aktivierst du die 'Programme'?
Eine RS232 - Übertragung hat das Problem, dass sich ein Empfänger nicht
in eine bereits ständig laufende Übertragung einklinken und sich 100%
zuverlässig auf das nächste Zeichen synchronisieren kann. Erst eine
kurze Pause in der Datenübertragung ermöglicht dem Empfänger zuverlässig
den Start des nächsten Zeichens zu erkennen.
Daher: Immer erst den Empfänger scharf schalten und erst dann den
Sender. Oder aber im Sender in regelmässigen Abständen eine kurze Pause
einlegen, damit ein in der Zwischenzeit hinzugekommener Empfänger eine
Chance hat, das Startbit eindeutig zu erkennen.
Daher die Frage, in welcher Reihenfolge du die Übertragung 'scharf
schaltest', denn deine Symptome erinnern stark an dieses Problem.
Auf der anderen Seite ist es so, dass man ein Terminalprogramm meistens
ständig mitlaufen hat, während man am Sender arbeitet. D.h. in dem Fall
hattest du das Problem nicht, weil der Empfänger schon lief ehe der
Sender zu Senden anfing.