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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren