Gast
#2730264
Kann mir mal jemand unter die Arme greifen? Ich wollte mal auf dem Experimentierbrett den CTC-Modus von Timer 1 des Atmega8 ausprobieren, aber meine LED blinkt nicht und ich sehe nicht warum. Den Ausgang OC1B kann ich nicht nehmen -ich wollte deswegen die LED an einem anderen Pin jede Sekunde toggeln lassen, so daß 0,5 Hz aus Portc.5 kommen. Der Quelltext ist Teil eines größeren Programmes, ich habe nur diese Sache separat testen wollen. Habe ich alle Register, die damit zu tun haben erwischt oder was habe ich übersehen? $regfile = "M8def.dat" $crystal = 16000000 Dim Timer1_interrupt_zähler As Word Led Alias Portc.5 : Config Led = Output : Led = 1 '### Timer1 - Zeittakt 1ms ##################################################### Tccr1b = &B00001011 'CTC-Modus,Prescaler=64 (WGM12 und 13 CTC Modus, CS10-12 Teilerfaktor) Ocr1b = 250 'Vergleichswert bei dem Interrupt ausgelöst wird Timsk.ocie1b = 1 'Output_Compare_Match_Interrupt_erlauben Enable Interrupts Enable Timer1 On Oc1b Isr_timer1 'Bei Gleichstand Interrupt auslösen '####################################################################### ######## Do Nop Loop End Isr_timer1: Incr Timer1_interrupt_zähler 'Die Interrupts zählen If Timer1_interrupt_zähler = 1000 Then 'nach Tausend Interrupts LED umschalten d.h. 1Hz Timer1_interrupt_zähler = 0 Toggle Led End If Return MfG Paul