PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Flankenerfassung mit Bascom?



Zingaro
21.05.2005, 13:32
Hallo ihr lieben Leuten,

wer kann mir sagen, ob man mit Bascom eine Flanke erfassen kann, und wenn ja wie?

Ciao
Zingaro

madcyborg
21.05.2005, 14:19
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...

RCO
21.05.2005, 14:48
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.

PicNick
21.05.2005, 19:53
Meist (ohne interrupt) macht man das mit XOR


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


Beispiel Is nicht elegant , er reichen auch Bit-dims, is nur zur Erläuterung