Hallo zusammen, experimentiere gerade etwas mit dem ATtiny45. Es geht um die Clockumschaltung. Folgendes Verhalten zeigt sich: - bei 8MHz RC intern funktioniert der /8 Divider (Fuse CKDIV8) - bei 6.4MHz RC intern wird immer /8 dividiert, egal wie CKDIV8 gesetzt ist - bei 128KHz RC intern funktioniert CKDIV8 auch wie erwartet - die Stromaufnahme im Idle Mode ist bei 6.4MHz / 8 sehr hoch. Bei 8Mhz/8 sind es bei 3V 330uA, bei 6.4MHz/8 sind es dagegen 1.42mA. - die dynamische Umschaltung der Frequenz während des Betriebes über den Clock Prescaler CLKPR funktioniert überhaupt nicht, egal welche internen Taktquellen ich ausgewählt habe. Das Programmstück zur Umschaltung sieht so aus: ;Speed Divider Set cli ldi a, 0b10000000 out CLKPR, a ldi a, 0b00001000 out CLKPR, a sei Ich hab da keine Idee mehr, was ich falsch machen könnte, vermute so langsam wirklich einen Bug im Chip. Die Teile sind ja noch brandneu. Zumal meine frisch gekauften aus der 32KW 05 stammen. Vielleicht lag da noch was im Argen. Hat jemand schon mit dem Tiny 45 experimentiert und weiß näheres? (Benutze AVRISP und AVRStudio neueste Version 4.12 Build 460)
Hab weiter experimentiert. Komischerweise funktioniert es, wenn man statt "out" eine direkte Ram-Adressierung verwendendet: .def a = r16 ;Speed Divider Set cli ldi a, 0b10000000 sts CLKPR+0x20, a ldi a, 0b00000000 sts CLKPR+0x20, a sei Allerdings hat der 6.4MHz Takt weiterhin sehr merkwürdiges Verhalten. Bei dem funktioniert auch die Taktumschaltung nicht. Siehe hierzu auch meine Weblogeinträge vom 8.1.2005: http://www.wikidorf.de/reintechnisch/Inhalt/AVRWeblog
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.