michaelF
24.01.2006, 21:05
Ich habe ein Problem mit einem 8bit Timer des ATMega32.
Ich möcht den Timer mit einem Wert vorladen, aber der Wert wird einfach ignoriert. Ich hänge den Code mal dran, vielleicht fäll jemande etwas ein.
Ich bin schon am verzeifeln.
$regfile = "m32def.dat"
$crystal = 16000000
Dim Count As Word
Const Reload = 240
'########## Timer2 ###########
On Timer2 Ueberlauf: Interrupt-Routine Timer2
Config Timer2 = Timer , Prescale = 64 'Takt: Quarz/64
Enable Timer2 'Timer2 einschalten
Enable Interrupts 'Interrupts global zulassen
Load Timer2 , Reload 'Timer2 mit offset vorladen
Config Portb.2 = Output 'Portb.2 als output
'### begin loop ###
Do
nop 'do nothing
Loop
'### end loop ###
End 'end program
'#### Label #######
Ueberlauf:
Incr Count 'Variable count erhoehen
If Count = 1000 then 'Ist der count xxx, dann
Toggle Portb.2 'Toggle Portb.2 (blink LED)
Count = 0 'Variable count auf 0
Load Timer2 , Reload 'Offset
End If
Return
Ich möcht den Timer mit einem Wert vorladen, aber der Wert wird einfach ignoriert. Ich hänge den Code mal dran, vielleicht fäll jemande etwas ein.
Ich bin schon am verzeifeln.
$regfile = "m32def.dat"
$crystal = 16000000
Dim Count As Word
Const Reload = 240
'########## Timer2 ###########
On Timer2 Ueberlauf: Interrupt-Routine Timer2
Config Timer2 = Timer , Prescale = 64 'Takt: Quarz/64
Enable Timer2 'Timer2 einschalten
Enable Interrupts 'Interrupts global zulassen
Load Timer2 , Reload 'Timer2 mit offset vorladen
Config Portb.2 = Output 'Portb.2 als output
'### begin loop ###
Do
nop 'do nothing
Loop
'### end loop ###
End 'end program
'#### Label #######
Ueberlauf:
Incr Count 'Variable count erhoehen
If Count = 1000 then 'Ist der count xxx, dann
Toggle Portb.2 'Toggle Portb.2 (blink LED)
Count = 0 'Variable count auf 0
Load Timer2 , Reload 'Offset
End If
Return