ATtiny2313 läuft mit internen 8 aber nicht mit 4Mhz

Gast #943609
Lesenswert?

Hallo,

> ... ATtiny2313 der mit 8Mhz(interner R/C Oszillator) aber
> nicht mit 4MHz läuft.
CKSEL=0010 : 4MHz,  CKSEL=0100: 8MHz
Wie misst Du F_CPU?

> Wenn ich den ClkDevider noch einstelle funktioniert es mit den 4Mhz.
Verstehe ich nicht, kenne nur CKDIV8, damit bekommst Du 500kHz bei 
RC-Oszill.=4MHz bzw. 1MHz bei RC-Osz.=8MHz.

Gruß

  risu
Gast #943749
Lesenswert?

Hallo,

also nochmal ganz ausführlich, hatte vorhin wenig Zeit.

Ich programmiere im Moment einen ATtiny2313. Diesen hatte ich am Anfang 
mit 8 Mhz laufen lassen, also den internen RC Oszillator auf 8Mhz ohne 
CKDIV8 über die Fuses eingestellt. Das funktionierte soweit. Um weniger 
Strom zu benutzen,  wollte ich den 2313 mit 4Mhz laufen lassen und habe 
die Fuses auf 4Mhz ohne CKDIV8 eingestellt. Aber mit dieser Einstellung 
läuft der Controller nicht. Wenn ich nun aber zusätzlich CKDIV8 
aktiviere, also den µC mit 500kHz laufen lasse geht es wieder.

Zsammenfassung:
8Mhz ohne ClkDiv -> 8Mhz funktioniert
8Mhz mit ClkDiv  -> 1Mhz funktioniert
4Mhz ohne ClkDiv -> 4Mhz funktioniert nicht
4Mhz mit ClkDiv  -> 0,5Mhz funktioniert

Ich habe keinen Schimmer warum.
Gast #943791
Lesenswert?

So ganz versteh ich es zwar noch nicht aber folgendes lässt sich sagen :

Werksseitig kommt der 2313 mit intern 8MHz / 8 => 1MHz internem Takt.

=> CLKPR (Clock Prescale Register) nach Beschreibung von S30 auf 8MHz / 
2 setzen => dann sollten 4Mhz Systemtakt zur Verfügung stehen

Wichtig : Zyklen für CLKPCE beachten (siehe Datenblatt)

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