Hallo, ich beschäftige mich noch nicht allzulange mit Schaltungen, Dem PI und insbesondere mit C/C++.
Aber nun zum Problem. Ich habe eine Schaltung die wie folgt ausschaut.
Ich möchte nuneigentlich ganz einfach mit einem C programm abgreifen ob der Pin auf HIGH steht oder eben nicht. Das ganze funktioniert mit folgendem Code auch ganz gut. Ich benutze übrigends wiringPi in der aktuellsten version.
nun ist das aber recht suboptimal wenn mein eine aktion durchführen möchte da diese aktion natürlich wie das printf solange immer wieder ausgeführt wird bis der pin 0(wiringPi numerierung,eigentlich 17) auf low steht. Nun habe ich den code soweit angepasst das er wie folgt ausschaut.
int pressed = 0;
for (;;)
{
if (digitalRead(0) == HIGH) {
if (pressed == 0) {
printf("Pressed!\n");
pressed = 1;
}
} else {
pressed = 0;
}
}
Alles anzeigen
Rein von der Logik her... zumindest meiner sollte nun eigentlich nur einmal die aktion ausgeführt werden pro druckphase thes buttons.
Also entweder ich habe einen denkfehler oder irgendetwas stimmt mit dem code nicht.
Sollte mir jemand helfen können wäre ich sehr dankbar.