Also ich habe folgenden Code umd den Timer 1 in den CTC Modus zu bringen: ;------------------------------ ldi temp1, 0x23 out OCR1AL, temp1 ldi temp1, 0xF4 out OCR1AH, temp1 sbi DDRB, 1 ldi temp1, 1<<COM1A0 out TCCR1A, temp1 ldi temp1, (1<<WGM12)|(1<<CS12) out TCCR1B, temp1 ;------------------------------ Simuliert = funktioniert! auf mega8 geladen = 868 Hz am OC1A Pin statt 0,5 Hz auf mega16 geladen = selber müll wie aufm mega8 auf mega32 geladen = es funktioniert, 0,5 Hz wie es sein sollte So, und jetzt frag ich mich wieso das hier und da nicht funktioniert und dannn woanderst wieder funktioniert, oder war ich so blöd und hab was übersehen? Jemand ne Idee? MFG Alexthbe
So funktioniert's: ;------------------------------ ldi temp1, 0xF4 out OCR1AH, temp1 ; zuerst H ldi temp1, 0x23 out OCR1AL, temp1 ; dann L sbi DDRB, 1 ldi temp1, 1<<COM1A0 out TCCR1A, temp1 ldi temp1, (1<<WGM12)|(1<<CS12) out TCCR1B, temp1 ;------------------------------ Bernhard
oder in einem Schwung und zwei Temp-registern: ... ldi temp2, 0xF4 ldi temp1, 0x23 out OCR1AH, temp2 ; zuerst H out OCR1AL, temp1 ; dann L ...
@TravelRec.
>oder in einem Schwung und zwei Temp-registern
Na so schwungvoll ist das mit zwei Registern nun auch nicht.
Braucht doch genauso viel Takte, oder?
Und zusätzlich wird noch ein weiteres Register benötigt.
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.