Hallo,
ich habe eine Frage zu den Compare Registern (Timer1) vom 8515.
Es ist doch richtig, dass sich die Ausgänge OC1A und OC1B gleich
verhalten, oder?
Beide besitzen ein eigenes Compare Register welches mit dem
Timer1-Register verglichen werden kann um
dann ggf. einen Interrupt zu erzeugen.
In der Praxis funktioniert dass mit dem OC1A wunderbar, nur der OC1B
funktioniert nicht.
Habe hier einmal die Einstellungen mit denen ich den Timer
initialisiere:
// zunaechst mal alle Register deaktivieren!
TIMSK = TCCR1A = TCCR1B = 0x00; SREG = 0x00;
SREG = 0x80; // Global Interrupt Enable
TIMSK = BV(OCIE1B); // CompareB Match Interrupt Eneble
TCCR1A = BV(COM1B0); // Output toggle
OCR1B = 200;//Compare Register beschreiben
TCCR1B = BV(CTC1)|BV(CS12); // Timer1=0, wenn TCNT1=OCR1B ; CPU-Takt
7.3728MHz
Später möchte ich dann in dieser Routine den Wert in meinem Compare
Register ändern:
SIGNAL(SIG_OUTPUT_COMPARE1B)
{
//irgendetwas tun
}
Aber leider komme ich noch nicht einmal so weit eine Frequenz
auszugeben.
Wäre nett wenn mir jmd. helfen könnte.
Gruß,
Andi
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.