Witam
Mam problem. Napisałem program "11 kanałowy licznik", który zlicza i wysyła dane do komputera. Do wyzwalania każdego z liczników użyłem funkcji Debounce. I jest jeden problem. Jak się zdarzy, że przypadkowo w tym samym czasie 3 czujniki wychwycą "coś" to następuje przekłamanie. Czy jest jakiś prosty sposób, aby zastąpić tą funkcję czymś co nie będzie wprowadzało błędu?
dziekuje z góry
DAWID
'..............i tak dalej az do 11 licznika
Proszę używać znaczników [code]
[zumek]
Mam problem. Napisałem program "11 kanałowy licznik", który zlicza i wysyła dane do komputera. Do wyzwalania każdego z liczników użyłem funkcji Debounce. I jest jeden problem. Jak się zdarzy, że przypadkowo w tym samym czasie 3 czujniki wychwycą "coś" to następuje przekłamanie. Czy jest jakiś prosty sposób, aby zastąpić tą funkcję czymś co nie będzie wprowadzało błędu?
dziekuje z góry
DAWID
Do
Debounce Pinb.1 , 1 , Z , Sub
Debounce Pinb.2 , 1 , Z1 , Sub
Debounce Pinb.3 , 1 , Z2 , Sub
Debounce Pinb.4 , 1 , Z3 , Sub
Debounce Pinb.5 , 1 , Z4 , Sub
Debounce Pinc.0 , 1 , Z5 , Sub
Debounce Pinc.1 , 1 , Z6 , Sub
Debounce Pinc.2 , 1 , Z7 , Sub
Debounce Pinc.3 , 1 , Z8 , Sub
Debounce Pinc.4 , 1 , Z9 , Sub
Debounce Pinc.5 , 1 , Z10 , Sub
Loop
End
'----------------------------------------------licznik1
Z:
Incr J
If J = 10 Then
J = 0
Incr D
If D = 10 Then
D = 0
Incr S
If S = 10 Then
S = 0
Incr T
If T = 10 Then
T = 0
Incr Dt
If Dt = 10 Then
Dt = 0
End If
End If
End If
End If
End If
W = Dt * 10000
W2 = T * 1000
W = W + W2
W2 = S * 100
W3 = D * 10
W2 = W2 + W3
W = W + W2
W = W + J
Print "A" ; W
Return
'----------------------------------------------licznik2
Z1:
Incr J1
If J1 = 10 Then
J1 = 0
Incr D1
If D1 = 10 Then
D1 = 0
Incr S1
If S1 = 10 Then
S1 = 0
Incr T1
If T1 = 10 Then
T1 = 0
Incr Dt1
If Dt1 = 10 Then
Dt1 = 0
End If
End If
End If
End If
End If
W4 = Dt1 * 10000
W5 = T1 * 1000
W4 = W4 + W5
W5 = S1 * 100
W6 = D1 * 10
W5 = W5 + W6
W4 = W4 + W5
W4 = W4 + J1
Print "B" ; W4
Return
'----------------------------------------------licznik3
Z2:
Incr J2
If J2 = 10 Then
J2 = 0
Incr D2
If D2 = 10 Then
D2 = 0
Incr S2
If S2 = 10 Then
S2 = 0
Incr T2
If T2 = 10 Then
T2 = 0
Incr Dt2
If Dt2 = 10 Then
Dt2 = 0
End If
End If
End If
End If
End If
W7 = Dt2 * 10000
W8 = T2 * 1000
W7 = W7 + W8
W8 = S2 * 100
W9 = D2 * 10
W8 = W8 + W9
W7 = W7 + W8
W7 = W7 + J2
Print "C" ; W7
Return
'..............i tak dalej az do 11 licznika
Proszę używać znaczników [code]
[zumek]