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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.