UART Kommunikation zwischen 2 ATMega32

Gast #1892804
Lesenswert?

Hallo,

folgendes Problem:
Ich will 2 ATMega32 unidirektional miteinander über UART kommunizieren 
lassen (8N1 @ 4800Baud mit 16MHz Quarz). Das Senden des einen µC 
funktioniert bestens.

Das Empfangen habe ich zu Testzwecken sowohl mit pollen als auch mit 
Interrupts gelöst, bei beiden Versionen tritt das identische Fehlerbild 
auf.

Ich lege die Versorgungspannung an beide µCs gleichzeitig an, daraufhin 
werden aber nur Schrottdaten empfangen. Kappe ich nun die 
Datenverbindung zwischen den µCs und stelle sie wieder her, werden 
korrekte Daten empfangen (stabil und dauerhaft).
Es passiert auch manchmal dass ich die Datenleitung mehrmals kappen 
muss, um eine stabile Datenübertragung zu erreichen.

Hat jemand eine Idee was schiefläuft ?
Kondensatoren an den Versorgungsspannungspins sind ausreichend vorhanden 
;)
Gast #1892826
Lesenswert?

Sendet der eine µC dauerhaft (ohne Pause)?

Falls ja: dann ist nicht garantiert, dass er an der richtigen Stelle 
aufsetzt.  Je nach Inhalt kann er dauerhaft das falsche Bit als Startbit 
erkennen.  Abhilfe:  Irgendwo im Strom eine Pause von mindestens einer 
Zeichenlänge einfügen.  Manchmal hilft es auch schon, mit 2 Stopbits zu 
senden.
Gast #1892837
Lesenswert?

Ja, der sendet bisher dauerhaft, ich habe gerade damit begonnen den 
Sender so umzuschreiben, dass er nur noch sendet wenn die zu 
übertragenden Daten sich geändert haben.

Aber wenn beim Start sich die Daten mehrfach ändern (und das tun sie) 
kommt wieder ein langer pausenloser Datenstrom am Emfänger an, bis die 
erste Pause auftritt. Habe ich dann immer noch das Problem am Anfang, 
nur dass er sich dann irgendwann fängt?

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