Dies ist nur ein Vorschlag für ein Entprellen einer Taste. Es gibt sicherlich noch zig andere Wege. Aber diese ist schnell und verursacht keine Wartezeit.
Du schiebst den aktuellen Wert des Pins in eine Variable und kontrollierst dann, ob z.B. 8 mal der gleiche Wert gekommen ist. Wenn ja machst du eine Aktion.
Wenn du dies in einer Timer Routine z.B. alle 1ms aus, dann hast du nach der Prellzeit des Tasters + 8ms eine Aktion.Code:Port_Status.0 = Pina.0 'dies speichert den aktuellen Zustand in bit 0 ab If Port_status = 255 Then '8 mal eine 1 If Port_status_alt = 0 Then 'vorher hatte er alles 0 Port_status_alt = 255 'neuen Status abspeichern 'irgendeine Aktion für Taster = 1 Endif Elseif Port_status = 0 Then '8 mal eine 0 If Port_status_alt = 255 Then 'vorher hatte er alles 1 Port_status_alt = 0 'neuen Status abspeichern 'irgendeine Aktion für Taster = 0 End If End If Shift Port_status, Left 'schafft Platz für das nächste Abfragen







Zitieren

Lesezeichen