Hallo, ich verstehe die Welt nicht mehr.. Hier ist der Timer Init: ldi workreg0, (1<<WGM12) | (1<<CS11) out TCCR1B, workreg0 ldi workreg0, LOW(12799) out OCR1AL, workreg0 ldi workreg0, HIGH(12799) out OCR1AH, workreg0 ldi workreg0, 0x00 out TCNT1L, workreg0 out TCNT1H, workreg0 ldi workreg0, (1 << OCIE1A) out TIMSK, workreg0 Die Quartfrequenz liegt bei 3,2768MHz Hier der ISR Sprung .org OC1Aaddr rjmp SAMPLE Ich will, dass er 32mal in die ISR springt, aber er macht es alle 640µS in etwa nur verstehe ich nicht wieso Need Help :D
Bei 16-Bit Registern (d.h. OCR1AH:OCR1AL, TCNT1H:TCNT1L) muß die Zugriffsreihenfolge beachtet werden. Datenblatt S. 84: "To do a 16-bit write, the high byte must be written before the low byte. For a 16-bit read, the low byte must be read before the high byte." MfG Olaf
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.