Bei meinen Tastern (die 6Zent-Klasse ebenso wie die 20Zent-Klasse) stelle ich praktisch nie ein Prellen fest (seltsamerweise??) obwohl ich selten oder nicht bewußt irgendwelche Maßnahmen gegen EMV-Einflüsse treffe. Trotzdem habe ich manchmal Entprellmaßnahmen getroffen - allereinfachste Art, ich frage den Taster mehrfach hintereinander ab. Hier ein paar Codeschnippsel, das sollte reichen um den Vorgang zu verdeutlichen. Anm.: die Taster sind gegen GND geschaltet, daher gilt: PIN ist low => Taster gedrückt.... kleine Routine zum Entprellen eines Tastersignals ... Beim Drücken des Tasters wird leider öfter mehrere Male geschaltet ...
Und ich kann über Fehlfunktionen wirklich nicht klagen *gg* .. dh es treten keine auf.Code:#define IsBitSet(ADDR,BIT) (((ADDR) & (1<<BIT))?1:0) // Fragt Bit = 1? #define IsBitClr(ADDR,BIT) (!((ADDR) & (1<<BIT))?1:0) // Fragt Bit ab #define PRTtstLCD PIND #define Tst_A 6 #define TAan IsBitClr (PRTtstLCD, Tst_A) // Taster A gedrückt ?? if ( TAan && TAan ) // Das ist nun die eigentliche Abfrage // .. kann natürlich öfter ver&&det werden







Zitieren
Lesezeichen