Hi,
mittels Hardware-Interrupt ist es natürlich am Elegantesten, damit lassen sich auch kürzeste Signalausfälle erkennen.
Geht das nicht, lässt sich die Sache auch mit einer If-Then-Abfrage lösen. Dann muß das Signal aber für minimum einen Programmzyklus ausfallen, damit es sicher erkannt wird.
In etwas so, in Bascom:
Code:
Dim Zeit_ok as Bit
Dim Timer_on as Bit
Dim Signal_error as Bit
Do
If PinX.Y = 1 and Timer_on=0 then
Start TimerZ
Timer_on=1
end if
If PinX.Y=0 and Timer_on=1 then
Stop TimerZ
Signal_error=1
end if
Loop
Grüße
Torsten
Lesezeichen