Forum: Mikrocontroller und Digitale Elektronik UART am ATMega8


von Dennis (Gast)


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ß

von D. W. (dave) Benutzerseite


Lesenswert?

Kleiner Tipp: dein Programm könnte hilfreich sein.

von Pete da Heat (Gast)


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

von Danny (Gast)


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)

von Hannes L. (hannes)


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.

...

von crazy horse (Gast)


Lesenswert?

und der nächste:-)
http://www.mikrocontroller.net/forum/read-1-265431.html#271272

und natürlich wieder einer, der meint das geht problemlos...

von Hannes L. (hannes)


Lesenswert?

OT

<Klugscheiß>
;-)
</Klugscheiß>

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.