Hi I have been trying to use the equation:
int Temp; Temp = 680*((N-82)/(920-82)); return Temp;
'delay' is an int, the RHS expression (delay-82)/(920-82) yields 0 for any value of 'delay' less than 920. 0 is converted to 0.0 for assignment to 'Temp'. 680 * 0.0 = 0.0. Try:
Temp= ((float)delay-82)/(920-82);
Scaling fixed point math takes some understanding. Perhaps you could start by reviewing this article or Google for fixed point math: http://www.wwnet.net/~stevelim/fixed.html Perhaps you should also review a "C" tutorial. If you want to perform floating point operations then you need to have your equation representative of a floating point calculation. So as Dan has suggested "cast" the divide operation or change your constants to be float values.
for(delay=82; delay < 920; delay += 20) { Temp = (delay-82.0)/(920.0-82.0); Temp = 680.0 * Temp; printf("result is %f\n", Temp); }