mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART am ATMega8


Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleiner Tipp: dein Programm könnte hilfreich sein.

Autor: Pete da Heat (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Danny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und der nächste:-)
http://www.mikrocontroller.net/forum/read-1-265431...

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OT

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

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.