Liebe Experten, ich habe (dachte ich) das (Uhren-CTC-)Tutorial präzise nachgeahmt: ldi temp, high(60000 - 1) ; T1 INIT (oberer Anschlag bei 60.000 => 1 IR alle 10ms) out OCR1AH, temp ldi temp, low(60000 - 1) ; T1 INIT (oberer Anschlag bei 60.000) out OCR1AL, temp ldi temp, (1 << WGM12) | (1 << CS10) ; T1 CTC Modus an, Vorteiler auf 1 out TCCR1B, temp ldi temp, 1 << OCIE1A ; T1 Interrupt bei Compare out TIMSK, temp Mit meinem 6MHz -Quartz an einem ATmega8-16PU nahm ich an, 6MHz/60.000 gibt 100 Impulse pro Sekunde => alle 10ms einen Wakeup. Das tut er aber nicht, er wacht viel seltener auf. Sobald ich den CTC auf 10.000 statt auf 60.000 stelle, funktioniert alles, wie es soll (also Wakeup alle 10ms). Wo kommt dieser Faktor 6 her? Was habe ich falsch verstanden? Danke und Grüße Frank
Hi
>Wo kommt dieser Faktor 6 her?
Ich tippe mehr auf 8 -> CKDIV8-Fuse.
MfG Spess
Hi Zurück, ATMega8 hat diese Fuse nicht. Dann läuft dein ATMega mit 1MHz. MfG Spess
spess53 (Gast) wird wohl Recht haben, der Controller läuft gar nicht mit dem 6MHz Quarz, sondern mit dem internen RC-Oszillator, auf 1MHz (Das ist die Werkseinstellung bei einem neuen ATmega8). CKSEL Fuses überhaupt geändert? Mit freundlichen Grüßen - Martin
In der Tat: Die Fusebits waren nicht umgesetzt. Ich bitte für diesen Anfängerfehler um Vergebung. Wo ist die Kaffeekasse, in die ich zur Strafe einzahlen kann? Danke und Grüße Frank
Frank schrieb: > Wo ist die Kaffeekasse, in die ich zur > Strafe einzahlen kann? Wenn hier jeder Anfänger für fehlerhafte Fuses (CKSEL, JTAG, CKDIV8 usw. usw.) in eine Kasse einzahlen würde, könnte man davon bald Griechenland retten. Mach Dir deshalb also keine Vorwürfe.
Route 66 schrieb: > Wenn hier jeder Anfänger für fehlerhafte Fuses (CKSEL, JTAG, CKDIV8 usw. > usw.) in eine Kasse einzahlen würde, könnte man davon bald Griechenland > retten. Der Spruch gefällt mir. > Mach Dir deshalb also keine Vorwürfe. Doch, das sollte er trotzdem. Es steht doch, verdammt nochmal, alles im Datenblatt. Auch einem Anfänger ist es durchaus zuzumuten, das Ding zu lesen, bevor er den Controller benutzt, den es beschreibt. Ja klar, bei geringer Lesegeschwindigkeit und lausigen Englischkenntnissen können da schon mal etliche Abende ziemlich nervtötender Lektüre zusammenkommen, das ist klar. Aber nur so kann man ernsthaft einsteigen, selbst wenn es nur ein Hobby sein soll. Ein Hobby soll vor allem Spaß machen und das tut es einfach nicht, wenn man dauernd wegen mangelnder Grundkenntnisse auf die Schnauze fällt. Da ist die Hobbyaufgabe schon sozusagen "vorprogrammiert". Letztlich ist das genauso wie z.B. beim Modellflugzeugbau. Auch dort wird man unweigerlich auf die Schnauze fallen, wenn man nicht wenigstens die Grundlagen der Aerodynamik beherrscht und eine ganze Menge handwerklicher Fähigkeiten. Der Unterschied ist nur: Modellbauanfänger kommen nicht auf die Idee zu fragen, warum ihr Werk nicht fliegt, solange noch keine Tragflächen dran sind, weil sie nicht in der Lage waren, welche anzufertigen. Sie wissen dann von alleine, daß da noch was Wesentliches fehlt...
c-hater schrieb: > Doch, das sollte er trotzdem. Aber er hat doch schön brav in Maschine geschrieben. Das müsste dir doch gefallen, oder?
Mitlesa schrieb: > Aber er hat doch schön brav in Maschine geschrieben. Nein. Er hat Assemblerquelltext geschrieben. Was in Maschinencode programmieren heißt, wissen die Wenigsten.
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.