rs232 mit mega8 funktioniert nicht :(

Gast #514824
Lesenswert?
• ▲
▼
hallo liebe leute..

ich bin sehr deprimiert. ich muss dringenst eine kommunikation mit 
meinem mega8 per rs232 herstellen. leider funktioniert es nicht

im angehängtem programm seht ihr wie ich vorgehe.
wenn ich den uC mit dem osziloskop ausmesse, wird ersichtlich dass er 
eine baudrate von ca. 5000 hat! warum?!?! ich habe doch den ubbrval für 
6 verwendet und diesen wert hab ich laut der formel auch richtig 
ausgerechnet?


bitte um hilfe!

liebe grüße
Angehängte Dateien:
Gast #514857
Lesenswert?
• ▲
▼
Vielleicht hat er nicht die 9600 Baud benutzt?

Laut Tabelle 60 im Datenblatt ist das ein Wert, wo es bei exakten 
1.000MHz schon einen riesigen Fehler von -7,0% bei der Baudrate gibt.

Mit 2400 Baud (Wert 25) oder 4800 Baud (Wert 12) würde der Fehler nur 
0,2% betragen - wesentlich günstiger!
Gast #515189
Lesenswert?
• ▲
▼
interner Takt ist u.U. tödlich für ATMega und RS232. Je nach Temp etc. 
können die Abweichungen riesig sein und ich glaube, der 
Kalibrierungswert gilt nur für 1 MHz.
Nach Möglichkeit immer einen Quarz (am besten 14,7456 Mhz) einlöten. 
Sonst doktort man ewig dran rum.
Martin G.
#515211
Lesenswert?
• ▲
▼
Frank wrote:
> mit 9600 und internem Takt gibts oft schon Ärger. Versuchs einfach mal
> langsamer, dann klappts meistens.

Es hat eigentlich nichts mit 'langsamer' zu tun, sondern damit, dass der 
UART-Vorteiler möglichst ganzzahlig sein soll. Das gilt allerdings nur 
für Quarz, nicht für internen RC-Oszillator, dessen zulässige 
Abweichungen von der Nennfrequenz einfach zu hoch sind. Mit internem RC 
kann es (bei Zimmertemperatur) mal funktionieren, muss aber nicht. Das 
ist einfach Lotto...

Mit einem 'Baudratenquarz' wirds dann richtig zuverlässig, denn dann ist 
der Teiler immer ganzzahlig, was die größte Fehlertoleranz ermöglicht.

...

Antwort schreiben

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.

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.