PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : flankenerkennung bei einzelnen bits



Zapo.
26.05.2007, 13:40
hi,

gibts die Möglichkeit per software nur die positive oder negative flanke eines signals zu erkennen?

also ich werte momentan 1 Byte bzw. 8 Bit davon aus...

z.b. Eingang1.0 .. Eingang1.7

und reagiere dann z.B. den Eingang1.0 wenn dieser 0 ist. funktioniert soweit auch wunderbar, aber ich müsste nun warten bis der eingang wieder auf 1 war um die Funktion nochmals auszuführen... ansonsten springt mir das Programm halt immer wieder in diese Sub in der ich das entpsrechnende Bit auswerte...

mit debounce eingang1.2 funktionierts meiner meinung nach nicht... auf jeden fall bekomme ich ne fehlermeldung...

danke für eure antwort!

uwegw
26.05.2007, 13:56
Um ein Flanke zu erkenne, muss man den Eingang fortlaufend abfragen, und dabei prüfen, ob sich gegenüber der vorherigen Abfrage was verändert hat.


funktioniert soweit auch wunderbar, aber ich müsste nun warten bis der eingang wieder auf 1 war um die Funktion nochmals auszuführen...

Du bis schon auf dem richtigen Weg.
Du könntest in einer Variable den eingelesenen Zustand zwischenspeichern, und dann bei der nächsten Abfrage damit vergleichen. Wenn der alte Wert 1 ist und der neu 0, dann hast du gerade ne fallende Flanke erkannt, andersrum ne steigende, wenn sich nichts geändert hat, ist nichts passiert.

PicNick
26.05.2007, 16:10
Um z.B eine steigende Flanke zu erkennen mußt du ZWEI DInge tun
Warten, bis der Pin = 0
Warten, bis der Pin = 1
und jetzt hast genau eine Flanke.