Seit dem WE beschäftige ich mich damit, ein IIC-OLED mit einem ATTiny85 zu befeuern. Da die U8GLib die Tinies offiziell nicht unterstützt, habe ich als Alternive eine eine passende LIb im Projekt Digispark gefunden, sie stammt ursprünglich wohl aus der Tinosaur-Ecke. Um es so simpel wie möglich zu halten verwende ich die Arduino-IDE mit speziellen ATTiny-Erweiterungen (13,25,45,85), programmiert wird mittels USBASP. Im Prinzip alles prima, die Demo-Programme funzen, bzw. liefern den erwarteten Output. Fast. Eine Demo verwendet die ANweisung _delay_ms, um das gemalte Bild eine Weile stehen zu lassen. Leider nicht die angebenen 8000 ms, sondern eine halbe Ewigkeit. Wenn ich die Zeitspanne auf 1000 reduziere, bleibt die Ausgabe ca. 8 sec stehen, bei 800 ca. 6sec. Hier im AVR-Tut habe ich einiges gefunden, delay.h und F_CPU. delay.h wird irgendwo in der lib includiert, F_CPU suche ich vergeblich. Muss F_CPU zugewiesen werden? Apropos, getaktet wird mit 8MHz intern, Fuses stehen auf 0x62 und und 0xDF.
ckdiv8 gesetzt €dit: zu spät ^^
:
Bearbeitet durch User
Max D. schrieb: > ckdiv8 gesetzt Wenn's bloß oilweil soo leichd hergangad (sogd da Bayer). Formalistisch korrekte (jedoch das Bayern Feeling nicht wiedergebende) Übersetzung: Wenn es nur immer so leicht zu erreichen wäre .....
Ihn dünkt', er säh' 'nen Zeitversatz, und ward darob entsetzt. Er guckt noch mal und merkt', es war, die Fuse ganz falsch gesetzt. "Wenn's gar so einfach ist", sprach er, "bin ich zufrieden jetzt."
Mich duenkt das war ein Limerik mit fuenf Zeilen jetzt schau ich noch mal genauer hin Dann sinds der Zeilen sechs
Jörg Wunsch schrieb: > Also 1 MHz. Stell die Low Fuse auf 0xE2. Danke, hat geklappt, irgendwie hatte ich ein Brett vorm Kopp. Die Tiny85 Fuses kenne ich nicht auswendig und eigentlich verlasse ich mich auf die in die Brennproggies eingebauten Routinen. Im Falle des ATTiny85 waren leider nur zwei davon in der Lage, dessen Fuses auszulesen, interpretieren konnte sie keines, da sie außer dessen SIgnatur keine Infos haben. Allerding hätte ich erwartet, dass der Burn-O-Mat die Tinies kennt.
F_CPU kannst Du z.B. in den Compiler-Optionen setzen, im AVR-Studio in der Toolchain für den Compiler unter "Symbols".
Martin schrieb: > F_CPU kannst Du z.B. in den Compiler-Optionen setzen, im AVR-Studio in > der Toolchain für den Compiler unter "Symbols". Nein, kann man nicht. Dort wird dem Compiler mitgeteilt, mit welcher Frequenz der Controller läuft. Der Takt ist eine Hardwareeinstellung, die im Controller gemacht wird. Die CKDIV8-Fuse ist aber nur für die Einstellung des Clock-Dividers beim Start relevant. Der Clock-Divider lässt sich danach auch per Software einstellen. siehe "power.h" mfg.
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.