Duvida com float e Serial.print

Boas,

Tou aqui com a seguinte duvida

int resultado=512;

Serial.print ( ohm_to_temperature ( 30000, adc_to_ohm (  resultado, 10000.0 )) ,1 ); 

client.print  (ohm_to_temperature ( 30000, adc_to_ohm (  resultado, 10000.0 )) ,1 );

Assim funciona

int resultado=512;
float resul_final =0;

resul_final = ( ohm_to_temperature ( 30000, adc_to_ohm (  resultado, 10000.0 )) ,1 ); 

Serial.print  (resul_final);

client.print  (resul_final);

Assim já não funciona ... porque ?

PS talvez ajude

float ohm_to_temperature ( float NTC_Beta , float ohm )

float adc_to_ohm(long adc_value, float resistencia)

Tou a dar em doido !!!

result_final = 0.0f;

Experimenta isto...

Boas,

E a igual o resultado é sempre 1 =(

Cpts

Zé tretas

ok...
O código que meteste aqui, compilava???? reparei que sim...

resul_final = ohm_to_temperature ( 30000.0, adc_to_ohm (resultado, 10000.0));

E isto?

Não podes copiar os argumentos duma funcão e atribuir isso a uma variável. Foi o erro que fizeste.
Depois tens de colocar o Serial.print assim:

Serial.print(resul_final, 1);

Para obter o mesmo resultado que tinhas em cima.
No entanto, para bem da aprendizagem, experimenta sem aquele 1.

Boas,

Obrigada bubulindo ... era mesmo isso, mas como primeiro testei isso com a serial para debugar, depois escapou-me esse detalhe e como para o compilador estava tudo OK, para mim também estava OK, mais uma vez muito obrigada e continua com essa vontade de ajudar o pessoal, e eu vou ver se paro de abrir posts se não daqui a nada vou ser a pessoa com mais posts abertos :stuck_out_tongue:

Cpts

Zé tretas