Eine Bibliothek für Taster und Software-Entprellung erstellen
Teilen
Erstellen einer Bibliothek für Taster und Software-Entprellung
Die Button-Press-Bibliothek:
#define ButtonPress
include
char ButtonPressed(int buttonNumber, unsigned char pinOfButton, unsigned char portBit, int confidenceLevel);
char Pressed[numberOfButtons];
int Pressed_Confidence_Level[numberOfButtons]; //Misst die Tastenanschlag-Konfidenz
int Released_Confidence_Level[numberOfButtons]; //Misst die Tastenfreigabe-Konfidenz
char ButtonPressed(int buttonNumber, unsigned char pinOfButton, unsigned char portBit, int confidenceLevel)
{
{
Released_Confidence_Level[buttonNumber] = 0; //Setzt die Released-Konfidenz zurück, da ein Tastenanschlag erfolgt ist
if (Pressed_Confidence_Level[buttonNumber] > confidenceLevel) //Anzeige für einen guten Tastenanschlag
{
{
return 1;
//Setzt es auf Null, damit ein neuer gedrückter Zustand ausgewertet werden kann
Pressed_Confidence_Level[buttonNumber] = 0;
else
{
Pressed_Confidence_Level[buttonNumber] = 0; //Setzt die Pressed-Konfidenz zurück, da die Taste losgelassen wurde
if (Released_Confidence_Level[buttonNumber] > confidenceLevel)
{
Released_Confidence_Level[buttonNumber] = 0;
return 0;
#endif
Dies ist das Programm, das den gesamten Code enthält, der den Tastenzustand bestimmt und die Konfidenzwerte für das Drücken und Loslassen der Taste verfolgt, um den Entprellungseffekt zu eliminieren. Diese Bibliotheksdatei heißt: "ButtonPress.h", wie Sie in der Includedatei des Hauptprogramms sehen können. Wenn Sie diesen Code kopieren und einfügen und unter einem anderen Namen speichern, müssen Sie die Includedatei für das Hauptprogramm ändern.
Das eigentliche Programm, das wir unter Verwendung der Button-Press-Bibliothek schreiben würden
include
#include"ButtonPress.h"
int main(void)
{
PORTB = (1 << PINB0)|(1 << PINB1);
while (1)
{
if (ButtonPressed(1, PINB, 1, 100)) PORTB ^= (1 << PINB3);
Beachten Sie, wie kurz das Hauptprogramm jetzt ist. Der größte Teil des Codes für die Tastenanschläge und die Software-Entprellung ist in einer Bibliothek abstrahiert. Alles, was Sie tun müssen, ist die Datei ButtonPress.h einzufügen und eine Define-Anweisung am Anfang des Programms zu verwenden, um dem Compiler mitzuteilen, wie viele Tasten Sie verwenden möchten. Um festzustellen, ob eine Taste gedrückt wurde, erstellen Sie einfach eine "if"-Anweisung mit den Informationen, die sich auf die spezifische Taste beziehen, wie die Tastennummer, den Pin und Port sowie den Schwellenwert des Konfidenzniveaus für die Software-Entprellung.