Forum: Mikrocontroller und Digitale Elektronik CKOUT fuse verändert internen Takt


von Gast (Gast)


Lesenswert?

Hallo,

Ich bin verwirrt :-(
Ich bin dabei ein Programm mit einem ATmega164 zuschreiben,welches mir 
Daten auf eine SD Karte speichert.

ICh habe mein Programm nun minimiert, sodass es mir nur noch einen Text 
über USART zum Terminal auf dem PC schickt. Das funktioniert soweit 
auch.
Da ich den Takt für die Initialisierung der SD Karte später bestimmen 
muss wollte ich mir den internen Takt, den ich verwende (8MHz) auf einen 
Pin legen und mit dem Oszi anschauen.

Das geht indem ich das Fuse Bit  "Clock Output on PORTB1;[CKOUT=0] 
programmiere.
....EIGENTLICH....

Ist das Fuse NICHT gesetzt so funktioniert alles, sprich ich hab mein 
8MHz (ich kann sie zwar nicht messen, aber der UART funktiniert und 
somit stimmt die BAudrate, die ich mit den 8MHz ausrechne)

ist das Fuse GESETZT, dann funktioniert es auf einmal nicht mehr. Der 
Takt liegt zwar am PORT 0 wie er soll, aber ich messe einen "unschönen" 
Takt von 8,6MHz!!!! Somit funktioniert natürlich auch mein USART nicht 
mehr...

Vielleicht hatte ja jemand von euch schon das "Problem"

Grüße Oli

von Andreas K. (a-k)


Lesenswert?

Der interne Oszillator ist für UART nicht geeignet, weil zu ungenau.

von Gast (Gast)


Lesenswert?

Bisher ging er ja immer (brauch ihn ja auch nur um Debuggen zu können)
Was mich halt verwirrt ist, dass allein das Setzten des Fuse-Bits den 
internen Takt verändert...

Trotzdem Danke für die schnelle Antwort...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.