UART am ATMega8

Gast #269821
Lesenswert?
• ▲
▼
Hallo,
ich möchte die Serielle Schnittstelle am ATMega8 zum senden benutzen.
Leider empfange ich nix. Ich vermute nun es liegt daran das ich den
ATMega mit dem internen Oszillator betreibe, und dadurch die
Schnittstelle nicht korreckt initialisiert ist!
Bin für jeden Tip dankbar! ;-)
Gruß
Gast #269823
Lesenswert?
• ▲
▼
Hallo!

Wenn ich das noch richtig in Erinnerung hab: UART läuft nicht mit
internem Oszillator, weil der +- 3% Toleranz hat. Mit externem Takt
nochmal probieren, falls immer noch Probleme auftreten, mehr Infos
geben, wie Sourcecode und Schaltung. Wenn Du gar nichts empfängst kann
alles mögliche schuld sein.

Pete
Gast #269824
Lesenswert?
• ▲
▼
@ Pete:
Hast du nicht richtig in Erinnerung. UART oder auch USART läuft
problemlos mit dem internen Oszillator. Nur kommt es drauf an wieviel
Baud du haben willst. Im Datenblatt gibt es eine Tabelle, bei welcher
Frequenz bei entsprechenden Baudrate, die Übertragung fehlerbehaftet
ist.
Ich hasse es zwar, aber: RTFM (allseits belibt/gehasst)
Alternativ: Programm anhängen, Hellsehen kann hier keiner ;-) (nicht
böse gemeint)
#269825
Lesenswert?
• ▲
▼
Der Interne Takt ist zu ungenau. Es kann sein, dass es funktioniert, es
muss aber nicht.

Die asynchrone serielle Datenübertragung synchronisiert sich durch das
Startbit. Das heißt, dass ab dem Startbit der Timer/Counter des
Empfängers gestartet wird, der jeweils in der (zeitlichen) Mitte der
vereinbarten Bits den Zustand des Bits "einscannt". Eine
Synchronisation (Startbit) muss also für das gesamte Byte reichen, also
für (das halbe) Startbit, die (meist) 8 Datenbits, das evtl. Paritätsbit
und das (erste) Stopbit. Laufen in dieser Zeit Sendetakt und
Empfangstakt auseinander, so klappt die Übertragung nicht.

Es ist ein Trugschluss, dass die durch Taktunterschiede beider Seiten
bedingte schlechte Stabilität der Übertragung durch langsame Baudraten
verbessert werden kann, denn bei langsamerer Übertragung dauert das
Telegramm (Byte) auch mehr Takte, was die gleiche Abweichung ergibt.
Langsame Baudraten minimieren lediglich die Anfälligkeit gegen äußere
Störungen.

Die Baudratentabellen sagen nichts darüber aus, ob eine Übertragung mit
(recht ungenauem und stark driftendem) internem Takt funktioniert,
sondern nur, dass es mit speziellen "Baudratenquarzen" bedeutend
sicherer geht als mit Quarzen "glatter" Frequenz.

...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.