PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer in interruptroutine nutzen?



sebastian.heyn
12.01.2006, 20:27
Hallo,

ich habe ein Problem: ich konfigurier nen interrupt (int1=falling) in der interruptroutine benutze ich nen timer, der scheint aber nicht zu laufen... starte ich den timer ausserhalb der int1-routine funktioniert er wunderbar. habe ich was übersehen???

also:

Config Int1 = Falling
On Int1 int_sub

Config Timer2 = Timer , Prescale = 8
Const Timervorgabe = 6
On Timer2 Timer_irq

Enable Interrupts
enable int1

do
nop
loop
end

int_sub:
do something (wait for some pin)
enable timer2
do something (wait for some pin)
disable timer2
print count_rem
return

Timer_irq:
Timer2 = Timervorgabe
Incr Count_rem
Return

da wird immer 0 als wert ausgegeben. wenn ich aber

Config Timer2 = Timer , Prescale = 8
Const Timervorgabe = 6
On Timer2 Timer_irq

Enable Interrupts

do
do something (wait for some pin)
enable timer2
do something (wait for some pin)
disable timer2
print count_rem
loop
end

Timer_irq:
Timer2 = Timervorgabe
Incr Count_rem
Return


ausführe zählt count_rem ganz normal wie es soll hoch!

sebastian.heyn
12.01.2006, 21:04
hallo, habs rausgefunden. mit SEI (in der interruptroutine) gehts