TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: black_flowers en 11 de Mayo de 2010, 22:02:25
-
hola de nuevo, estoy programando un 16f876a con hitech picc y tengo un problem con los tipos de datos float y long. El problema es al intentar darle formato para pasarlo a una cadena son sprintf:
sprintf(temperatura,"%.2f",temperatura_centigrados);
esta es la orden, luego muestro "temperatura" en un lcd así:
lcd_puts(temperatura);
y en la pantalla me aparece ".2f" tal cual, lo mismo me pasa si pongo %ld,%Ld,%f, etc. es decir que no me reconoce los modificadores de long y float.
alguien ha tenido un error similar utilizando picc?? (la vesión creo que es la 8.05)
un saludo.
-
Hola black_flowers, la sintaxis está bien, no sobra recordarte que la variable temperatura_centigrados debe ser un float y temperatura un arrelgo
saludos.
-
Hola black_flowers, la sintaxis está bien, no sobra recordarte que la variable temperatura_centigrados debe ser un float y temperatura un arrelgo
saludos.
esta es la declaración, como ves está todo bien, pero parece ser que picc no reconoce los modificadores %l &f de long y float respectivamente. Puede alguien confirmarlo? Lo preguntará tambien en el foro de hitech.
char temperatura [4];
float temperatura_centigrados;
-
Hola, prueba con 0.2f o 3.2f, la que corresponda.
-
black_flowers, yo trabajo con MPLAB asociado con PICC, si quieres pasa el código yo te lo simulo en mi equipo y te cuento.
saludos.
-
hola de nuevo, estoy programando un 16f876a con hitech picc y tengo un problem con los tipos de datos float y long. El problema es al intentar darle formato para pasarlo a una cadena son sprintf:
sprintf(temperatura,"%.2f",temperatura_centigrados);
esta es la orden, luego muestro "temperatura" en un lcd así:
lcd_puts(temperatura);
y en la pantalla me aparece ".2f" tal cual, lo mismo me pasa si pongo %ld,%Ld,%f, etc. es decir que no me reconoce los modificadores de long y float.
alguien ha tenido un error similar utilizando picc?? (la vesión creo que es la 8.05)
un saludo.
pues parece ser que el compilador no viene preparado por defecto para soportar floats y longs en printf's sprintf's etc. Así que ahora estoy en ello (intentando activarlo)
un saludo.