Handle Overflow of Timer by Reset dedection (Problem was wenn Reset comes verry soon...
[owSlave2.git] / common / OWTimerInterrupt.s
index cd8af1c..504a68b 100644 (file)
@@ -32,7 +32,7 @@
 
 
 .global TIMER_INTERRUPT
-       TIMER_INTERRUPT:
+TIMER_INTERRUPT:
        push r_temp
        in r_temp,_SFR_IO_ADDR(SREG)  
        push r_temp
        rjmp tint_end ; Leitung 1 kein Reset
        ldi r_temp,0  
        out TCNT_REG,r_temp
+       CLEAR_TOV_FLAG
 tint_loop_rend:
        sbis OW_PIN,OW_PINN ;warten bis leitung wieder h 
        rjmp tint_loop_rend
+       JMP_NO_TOV ;ueberspringe wenn kein ueberlauf
+       rjmp tint_overrun
        in r_temp,TCNT_REG ;schauen ob es lange genug gedauert hat fuer reset
        cpi r_temp,OWT_RESET2 
        brlo tint_end
+tint_overrun:
        ldi r_temp,0
        out TCNT_REG,r_temp
        ;zwischen Reset und Presets