Hallo ihr lieben Leuten,
wer kann mir sagen, ob man mit Bascom eine Flanke erfassen kann, und wenn ja wie?
Ciao
Zingaro
Druckbare Version
Hallo ihr lieben Leuten,
wer kann mir sagen, ob man mit Bascom eine Flanke erfassen kann, und wenn ja wie?
Ciao
Zingaro
wenn ich das richtig verstehe willst du ne steigende oder fallende flanke für irgendwas auswerten?
ich hab sowas neulich grebraucht, das sa so aus:
---------------------------------------
If Pind.2 = 1 Then Testvar1 = 1
If Testvar1 = 1 Then
If Pind.2 = 0 Then
[auszulösendes ereignis]
Testvar1 = 0
Else
End If
End If
---------------------------------------
wenns einfacher geht wüsste ich das auch gerne...
Ich würde das ganze mit Interrupts lösen, also an T0 oder T1. Da kannst du dann direkt angeben, ob er bei einer steigenden oder fallenden Flanke auslöst, dass spart einiges an Prozessor-Performance. Leider bin ich in Bascom nciht mehr dinr, mal schauen, ob ich nen Beispiel finde.
Meist (ohne interrupt) macht man das mit XOR
Beispiel Is nicht elegant , er reichen auch Bit-dims, is nur zur ErläuterungCode:dim old as byte
dim new as byte
dim flanke as byte
do
new = pind.2
flanke = new xor old
if flanke = 1 then
if new = 1 then
' rising
else
' falling
end if
end if
old = new
loop