Por que en ves de tener un while(1)
tenes un do..while(1)
si usas do, va con un while si o si. la diferencia entre los 2 es que
do..while , ejecuta 1 ves y luego pregunta por la condicion
while, pregunta por la condicion, si no se cumple no se ejecuta.
asi que sacale el do--while completo
void TEMPERATURA_MOTOR(){
set_adc_channel(0); //Habilita canal 0
delay_us(10);
q= Read_ADC(); //Valor que lee el ADC
VT=5.0*q/1024.0;//Realiza conversion
R1=10000;
V=5.0;
RT=VT*R1/(V-VT);
B=4300;
TO=25;
TOK=TO+273.15;
RO=10000; //Resistencia 10 K a 25ºC
TK
=1/((1/B
)*log(RT
/RO
)+(1/TOK
));TC=TK-273.15;
}