Invertierter Taster - Wie Code anpassen?

Gast #4111175
Lesenswert?
• ▲
▼
Hey zusammen,

ich habe ein kleines Programm und das hat auch immer gut gelaufen, jetzt 
habe ich aber neue Taster bekommen und die funktionieren scheinbar 
invertiert zu den alten. Deshalb muss ich den Code anpassen.

Alter Code (hat mit den alten Taster funktioniert)
1
if ((PIND & 0x03) == 0x03) {
2
        //Beide Taster
3
        //mach foo1
4
    }
5
    else if ( PIND & (1<<PIND0) ) {
6
        //Rechter Taster
7
        //mach foo2
8
    }
9
    else if ( PIND & (1<<PIND1) ) {
10
        //Linker Taster
11
        //mach foo3
12
    }
13
    else
14
        //Kein Taster wurde gedrückt
15
        //mach foo4

Jetzt habe ich mir gedacht ich invertiere einfach alle Ausdrücke, aber 
das funktioniert leider nicht wie vorher:
1
if (!((PIND & 0x03) == 0x03)) {
2
        //Beide Taster
3
        //mach foo1
4
    }
5
    else if (!( PIND & (1<<PIND0) )) {
6
        //Rechter Taster
7
        //mach foo2
8
    }
9
    else if (!( PIND & (1<<PIND1) )) {
10
        //Linker Taster
11
        //mach foo3
12
    }
13
    else
14
        //Kein Taster wurde gedrückt
15
        //mach foo4

Wie müsste ich das korrekterweise abfragen?

Danke euch!! :-)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.