Schalterentprellung Software Frage

Gast #3147652
Lesenswert?

Hallo ich habe diesen Code hier auf dieser Seite gefunden für die 
SOftware-Entprellung von Tastern.

#define TASTERPORT PINC
#define TASTERBIT PINC1

char taster(void)
{
    static unsigned char zustand;
    char rw = 0;

    if(zustand == 0 && !(TASTERPORT & (1<<TASTERBIT)))   //Taster wird 
gedrueckt (steigende Flanke)
    {
        zustand = 1;
        rw = 1;
    }
    else if (zustand == 1 && !(TASTERPORT & (1<<TASTERBIT)))   //Taster 
wird gehalten
    {
         zustand = 2;
         rw = 0;
    }
    else if (zustand == 2 && (TASTERPORT & (1<<TASTERBIT)))   //Taster 
wird losgelassen (fallende Flanke)
    {
        zustand = 3;
        rw = 0;
    }
    else if (zustand == 3 && (TASTERPORT & (1<<TASTERBIT)))   //Taster 
losgelassen
    {
        zustand = 0;
        rw = 0;
    }

    return rw;
}










Ist es nun richtig wenn ich Schalter entprellen möchte dass ich dann 
diesen Ablauf nur bis zum 2. Status machen muss also bis "Taster wird 
gehalten" und kann dann den definitiven Zustand schon übergeben? Und wie 
mache ich das wenn ich auf einmal einen ganzen Schalterport entprellen 
mmöchte?

MfG

Metzgerei Pirmin & Söhne

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren