Zitat Zitat von Rabenauge Beitrag anzeigen
Schreib das mal ungefähr so:

bool leseWert;
leseWert=digitalRead(kp);
if(leseWert==HIGH)
{
.....
.....
}

Deine Methode _müsste_ eigentlich auch funktionieren, aber aus Erfahrung weiss ich: manchmal funktioniert es eben nicht.
Ich finde persönlich, bool sollte man nur mit TRUE oder FALSE verwenden, nicht mit high oder low, auch wenn es logisch äquivalent ist.

stattdessen gehen aber sicherlich auch die Datentypen char oder byte für leseWert problemlos mit deinem Code, und sie benötigen in C(++) auch denselben Speicher.