This simple “if” statement tests false when the debug watch window shows the parameters as equal. I’ve tried a lot of different ways of coding it including casting everything to (float). I’m using the 9.62 compiler. Does anyone have any ideas?
void convertWaveThermTemp(char direction, float * degreesCelsius, int * degreesCoded)
{
int i;
float degreesTemp;
float degreesHold;
unsigned short int pos[12];
degreesTemp = 0.0;
degreesHold = 0.0;
for (i = 0; i < 12; i++)
pos[i] = 0;
switch (direction)
{
case 'c':
for (i = 7; i >= -4; i--)
{
degreesTemp = pow((float)2, (float)i);
if (degreesTemp <= (float)2.0)
{
degreesHold += pow((float)2, (float)i);
pos[i+4] = 1;
}
}
break;
case 't':
break;
default:
break;
}
}