Autor Tema: problema con la conversion de float  (Leído 1462 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xerex

  • PIC16
  • ***
  • Mensajes: 138
    • Mi servidor, mi casa.
problema con la conversion de float
« en: 14 de Marzo de 2012, 19:45:23 »
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.  :shock:

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.
Es falso eso de que el saber no ocupa lugar....


No se donde poner tanto libro.... :P

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: problema con la conversion de float
« Respuesta #1 en: 14 de Marzo de 2012, 20:43:53 »
el sprintf para float creo que era %.3f


Desconectado xerex

  • PIC16
  • ***
  • Mensajes: 138
    • Mi servidor, mi casa.
Re: problema con la conversion de float
« Respuesta #2 en: 15 de Marzo de 2012, 04:30:16 »
Gracias MerLinz, pero quiero 3 digitos, sin ceros a la izquierda  y ningun decimal y la forma de hacerlo es asi, %03.0f

:)

Saludos
Es falso eso de que el saber no ocupa lugar....


No se donde poner tanto libro.... :P

Desconectado xerex

  • PIC16
  • ***
  • Mensajes: 138
    • Mi servidor, mi casa.
Re: problema con la conversion de float
« Respuesta #3 en: 19 de Marzo de 2012, 22:10:44 »
pues en vista del exito obtenido... he cambiado el pic a un 16F688, y en este si funcionan los float tan amigos mios :P

asi que supongo que CCS no compila las funciones matematicas correspondientes a float para los 12F, y por eso salen cero... snif! desechare los que tengo para otros propositos.

Saludos.
Es falso eso de que el saber no ocupa lugar....


No se donde poner tanto libro.... :P


 

anything