UART-Timing?

Gast #60962
Lesenswert?

Hallo,

ich hoffe, mir kann einer helfen. Mein UART will nicht so wie ich. Ich
habe einen AT MEGA 128 und einen anderen Controller daran
angeschlossen, Rx und Tx halt gekreuzt. Der sendet seine Daten mit 9600
Baud, 1 Stopp-Bit, kein Handshaking, genauso habe ich es im Mega
eingestellt. Dann habe ich eine Routine, die beim Auslösen des
Interrupts den Kram an einen schon vorhandenen String klatscht. Alle
paar Sekunden gibt mir der Mega den String auf dem LCD aus und leert
ihn wieder. In der Theorie und im Simulator funktioniert das auch.

Nicht aber in der Praxis! Beim allerersten Übertragen werden die ersten
beiden Zeichen korrekt übertragen, danach spuckt mir der Mega nur noch
kryptische Zeichen aus. Allerdings sind es immer die gleichen Zeichen,
völlig konstant und reproduzierbar.

Der Mega läuft intern mit 4 MegaHerz (durch Setzen der Fusebits), das
stimmt auch. Ich habe im Programm auch mal die Taktfrequenz in den
Grenzen der Toleranz variiert, aber das brachte auch nix. Hat jemand
Rat?

Grüße an alle,
Stephan
Gast #60963
Lesenswert?

Hallo,

nachdem ich nun alle Taktfrequenzen durch habe, stelle ich fest, dass
es gar nicht daran liegt. Der zweite Baustein, den ich leider nicht
beeinflussen kann, gibt sein Signal invertiert aus!

Kann man das per Software umdrehen?

Grüße an alle,
Stephan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren