da hast du mich auf die Richtige Spur gebracht ... if (t1 && t2 && t1 == t2){...}
Die UND-Verknüpfung ist liefert natürlich FALSE, wenn mein K6 Wert 0 ist. Somit wird nichts ausgegeben! Danke
Aber es geht weiter ....
Ich wollte mit dem von dir genannten Programm die Werte ermitteln. Allerdings scheint auch das Programm an dem Wert 0 hängen zu bleiben, weil das Programm für meine K6 keinen Wert einliest ...
edit:
...nach langem Probieren und Messen funktioniert es nun, so dass die Werte aller 6 Taster richtig ausgegeben werden.
Um für K6 einen brauchwaren Wert vom AD-Wandler zu ermitteln, habe ich anstatt dem 68K Widerstand (R30) ein Poti angelötet und damit den richten Widerstand ermittelt. Bei 55K !!! habe ich einen Wert 1019-1021 bekommen! Bei größeren Widerstandswerten, konnte kein richtiger Wert gemessen werden (>1023).
Warum das so von der Angabe abweicht, kann ich mir nicht erklären! Es sei denn, die Verbindung vom Widerstand, zum AD-Port ist nicht in Ordnung. Allerdings konnte ich hier nichts fehlerhaften messen.
Damit auch die übrigen Taster stabile Werte lieferten, musste ich die Pollswitch-Funktion noch um ein gutes Stück nachjustieren(siehe unten). Danach lieferte jedoch der AD-Wert 1023 eine 1 anstatt 0.
Da ich zum Schluss, nach vielen, vielen Tagen keine Lust mehr hatte, hab ich letztendlich noch ein etwas unschönes IF darum gebaut ....
MY_SWITCH_VALUE = 61;
if(i == 1023){ /* unschön, aber die Geldud ist am Ende*/
return 0;
}else{
return ((unsigned char) ((( 1024.0/(float)(i-15) - 1.0)) * MY_SWITCH_VALUE + 0.5));
}
@Radbruch: nochmals vielen Dank für deine Hilfe!!!
Lesezeichen