Gast
#1051479
Hallo, ich bräuchte bitte Eure Hilfe bei folgender Aufgabe: Folgende Funktion soll im Atmega128 und AVR-GCC berechnet werden setting = exp(((adcval+offset)/scale)*factor)+dc Nun habe ich folgendes probiert und bekomme nicht das gewünschte Ergebnis, sondern der Wert springt von 79 zu 115 dann zu 173... #include "math.h" #define scale 128 #define dc 25 #define offset 1100 int16_t adcval; uint16_t setting; adcval = read_ad_channel(0); // Formel: // wert = exp(((adcval+offset)/scale)*factor)+dc double temp; temp = (adcval+offset)/scale; temp = temp/2; temp = exp(temp); setting = temp + dc; //weiter mit... //dac_channel[1].volts = setting; Wenn ich es in Excel rechne, passt alles prima, aufm µC nicht. Bin Anfänger und verstehe nicht, wo das Problem ist. Eine Tabelle scheidet aus, weil ich von 0-1023 alles umrechnen muss, ist etwas viel... Danke für Euere Hilfe, Harry