au au au... das wird peinlich!
156 war rechnerisch absolut richtig!
Code:
uint8_t way_rev; // Reverse-Bits
uint16_t way_min = 100; // Reverenz Minimalwert
uint16_t way_mid; // Reverenz Mittelstellung
uint16_t way_max = 900; // Reverenz Maximalwert
uint16_t way_neu; // Aufbereitete Stellgröße
uint16_t way_akt; // Rohe-Potistellung
uint16_t way_nutz;
double factor;
double x;
way_akt = ADC_wert(0);
if( way_akt < way_min ){ way_akt = way_min; }
if( way_akt > way_max ){ way_akt = way_max; }
way_akt = way_akt - way_min;
way_nutz = (way_max - way_min);
factor = way_nutz / 255.0000;
x = way_akt / factor;
way_neu = x;
PORTC = way_neu;
der Fehler lag darin, dass der factor nicht 1023/way_nutz ist,
sondern way_nutz/255.
Danke an Michael, durch seinen Tipp "DREISATZ" bin ich draufgekommen.
Vielen Danke nochmal an alle!
Lesezeichen