USART bei ATMega8 geht nicht

Gast #494325
Lesenswert?
• ▲
▼
Hi Leute,

habe ein Problem, bei dem ich einfach nicht weiter weiß und ich hoffe 
sehr, dass jemand von euch eine Idee hat. Ich habe bisher einen 
ATTiny2313 benutzt. Jetzt bin ich auf den ATMega8 umgestiegen aber bei 
dem funktioniert der USART nicht. Ich finde einfach den Fehler nicht, 
weil andere Funktionen gehen, aber beim Senden und Empfangen per USART 
merke ich zwar, dass er sendet, aber es kommt nichts oder zumindest 
nichts verwertbares an. Es ist das gleiche Programm, dass auf dem Tiny 
funktioniert hat. Vielleicht liegt es an den Fuse-Bits, ich habe 
BOOTSZ1, BOOTSZ0, SUT0, CKSEL3, CKSEL2, CKSEL1 programmiert, bei einem 
9,216MHz Quartz. Ich weiß, die Frage ist sehr speziell, aber ich hoffe 
wirklich sehr, dass mir jemand helfen kann, weil ich nämlich schon viel 
Zeit in die Fehlersuche investiert habe.

Danke,
Philipp
Gast #494389
Lesenswert?
• ▲
▼
Na also um mir zu sagen ob die Fuse-Bits richtig gesetzt sind braucht 
man wahrlich kein Hellseher zu sein, sondern nur ein bischen mehr 
Erfahrung und uC Verständnis zu haben als ich. Und das Datenblatt hab 
ich natürlich schon mehrfach zu Rate gezogen. Ich poste hier weil ich 
hoffe, dass es vielleicht jemanden gibt, der ein ähnliches Problem 
hatte, oder dass mich jemand auf einen offensichtlichen Fehler hinweist, 
den man beim ATMega beachten muss. Den Code brauch ich nicht zu posten, 
weil ich ja weiß, dass er beim Tiny funktioniert.
Gast #494390
Lesenswert?
• ▲
▼
>BOOTSZ1, BOOTSZ0
Wozu begrenzt du deinen Programmspeicher? Willst du einen Bootloader 
laufen lassen?

>SUT0, CKSEL3, CKSEL2, CKSEL1

Ja...

CKOPT sollte man ab 8MHz vermutlich auch setzen.

Die Seite 25 im Datenblatt dürfte dich interessieren.
Gast #494419
Lesenswert?
• ▲
▼
Auf Seite 25 ist bei mir keine Tabelle, aber auch die Tabellen auf den 
Seiten danach hab ich schon mindestens 20 mal angeschaut und falls ich 
sie falsch interpretiere, dann hilft es mir auch nichts, wenn ich sie 
nochmal anschau. Also entweder sagt mir jemand wie ich es richtig machen 
muss oder es muss halt falsch bleiben.
Gast #494422
Lesenswert?
• ▲
▼
Hallo,

ich setze meist SUT0 auf 0 (bei Ponyprog also mit Haken), mehr Zeit zum 
stabilisieren des Taktes.
CKOPT mußte ich bisher selbst mit 16MHz auf dem Steckbrett noch nie 
setzen.

Ansonsten sind CKSEL0...3 auf 1 gesetzt, bei Ponyprog also ohne Haken.

Gruß aus Berlin
Michael

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.