Problem mit UART

Gast #337394
Lesenswert?
• ▲
▼
Hallo!

Ich habe ein Problem mit meinem ATmega8 und UART. Es will einfach
nicht. Ich habe alles so gemacht wie im Tutorial, software kopiert, und
Hardware gleich auf einem Steckbrett aufgebaut. Nur kommt nur etwas an,
wenn ich den AVR an die Stromversorgung anschliesse bzw. abklemme, dann
kommt kei häufigen Wechesel mal kurz müll auf den Schirm... sonst bleibt
das Hyperterminal weiss. Ich habe mir ein anderes Programm besorgt, dass
mir die angekommenen Daten anzeigt. HTerm. Dort kommt zwar viel mehr an,
jedoch nur fehlerhafte Daten (sind markiert).
Einstellungen wie BAUD und so sollte auch alles stimmen.

Im Datenblatt stand man solle für den MAX232A 0.1uF Kondensatoren
verwenden nicht wie im Tutorial beschrieben 10 bis 50 uF auch dieser
wechsel hat keine Besserung gebracht. Am MAX kann ich die +10V und -10V
messen...
Kann es sein, dass es wegen zu langen Leitungen (auf dem Steckbrett)
nicht funktioniert? Kondensatorn sind ganz nah dran, aber die
Datenleitungen....

Hat sinst noch jemand eine Idee was los sein könnte???
Gast #337396
Lesenswert?
• ▲
▼
@Pfi:

Hast Du berücksichtigt, daß die Register UBRRH und UCSRC auf der selben
Adresse liegen und beim Beschreiben über ein gesetztes / gelöschtes Bit
(ich glaube es heisst "URSEL") unterschieden werden?

Ich habe vor einigen Tagen auch damit zu kämpfen gehabt ;)

Gruß,
Magnetus
#337402
Lesenswert?
• ▲
▼
Warum sollte es?
Dem Programmierer ist doch ziemlich Wurscht, wo der
µC seinen Takt herbekommt. Hauptsache er hat einen.

Das was du hier immer wieder als neuen Thread liest,
ist ein ganz anderes Problem: Leute die ohne Kenntnisse
an den Fuses rumspielen, die ohne Sorgfalt arbeiten
(Fuses neu schreiben ohne vorher mal die vorhandene Fuse-
belegung eingelesen zu haben), die keine Datenblätter
lesen, kurz und gut: die sich selbst aus dem µC aussperren.

Ansonsten ist die Umstellung auf einen externen Quarz so
einfach wie einem Baby den Schnuller klauen.
Gast #337403
Lesenswert?
• ▲
▼
OK, danke! Dann werde ich das so machen...
Dass auf den externen Quarz umstellen einfach ist weiss ich auch, aber
eben, wollte nicht einen AVR abschiessen. Danke nochmals wenns nicht
funktioniert, dann melde ich mich nochmals
Gast #337404
Lesenswert?
• ▲
▼
Hallo Pfi,

bevor Du die Fuses umprogrammierst, versuche es mal so:

1. Beim Init des UARTs etwa vierzig mal 0xAA oder 0x55 über die
Schnittstelle senden. Das bringt z.B. Seriell-USB-Wandler mit
Auto-Baud-Funktion dann schon auf den richtigen Trichter.

2. Baudrate senken. Bei Baudraten von 9600 ist der Fehler mit dem
internen RC-Oszillator akademisch klein, weil das Signal länger dauert
und die Synchronisation innerhalb der 9 Bits (Startbit + 8 Datenbits)
nicht mehr so arg kritisch, weil die Bits immer nur in der Mitte
abgetastet werden. Bis das letzte Bit so arg verstellt ist, dass es
verpasst wird, muss die Baudrate schon arg daneben liegen.

mfg
gerd

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.