buenas!
estoy desoxidandome nuevamente en los PIC, poco a poco voy retomando pequeños proyectos, y en este caso estoy seguro que es una tonteria, pero no consigo que un float pase a int16. El compilador es CCS. el PIC, el 12F683
Veamos, he probado a convertilo a string
sprintf(cadena,"%03.0f", (valor_lambda / escalon_MPC));
y luego con atoi, el resultado es CERO, valor_lambda y escalon_MPC son distintos de cero y el valor mayor a 1.
He probado con el casting... mismo resultado, CERO
Para delimitar si es problema mio, he probado esto:
valor_AF=(float)2048;
write_float_eeprom(sizeof(float)*2, 2048);
Resultado, CERO.
Se los resultados porque escribo en eeprom los valores.
¿Alguien me puede dar alguna pista? es el compilador junto con el pic? tengo otros proyectos con pic18, que los float se convierten perfectamente con el sprintf sobre un string, pero este pic.... me esta matando... no es la primera vez que tengo problemas y tengo que hacer calculos matematicos con enteros porque no me funcionan los float en el....
Gracias de antemano.
Saludos.