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
Der interne Oszillator ist für UART nicht geeignet, weil zu ungenau.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.