Et le code, un peu modifié:
MMCode:;tempo alarme #picaxe 08M2 #no_data symbol stby=b1 ;temps inertie symbol tempOn=b2 symbol tempOff=b3 symbol tempAlarm=w13 symbol cumul=w12 symbol reed=pinC.3 symbol alarm=C.1 symbol maintien=C.4 ;automaintien alarme stby=30 ; les temps sont en secondes tempOn=15 tempOff=4 tempAlarm=180 pullup %1100 ;pullup sur C.2 et C.3 setint %0000, %0100 ;interruption sur C.2, niveau bas low alarm low maintien time=0 do loop while time <= stby cumul=0 high maintien do time=0 high alarm do loop while time <= tempOn cumul=cumul+tempOn low alarm time=0 do loop while time <= tempOff cumul=cumul+tempOff loop while cumul <= tempAlarm reset interrupt: low alarm low maintien do loop while pinC.2=0 reset return
-----