TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Aleix en 29 de Abril de 2010, 14:00:30

Título: MPLAP y float
Publicado por: Aleix en 29 de Abril de 2010, 14:00:30
Hola gente,

Estoy haciendo unas cositas con un pic16f877A. Todo funciona bien, la LCD, el timer y el conversor pero cuando quiero operar con floats el pic se vuelve loco.

para probar hago lo siguienteo:

#include "pic.h"
#include "htc.h"
#include "stdio.h"
#include "lcd.h"
#include "Timer.h"

void main(){

char tmp[16];
float volts=0;

volts=0.15;
sprintf(tmp, "%f", volts);
lcdputstring(tmp);

}

NO FUNCIONA!!! incluso al hacer el debugger pongo un break point justo despues de volts para ver que vale y no vale 0.15, vale un numero muy grande que nada tiene que ver!

sabeis que puede ser. Esto esta programado en MPLAB con el hi.tech instalado.

Muchas gracias de antemano.
Aleix.
Título: Re: MPLAP y float
Publicado por: AngelGris en 29 de Abril de 2010, 14:16:35
En realidad en el MPLAB no podés ver el valor exacto en la variable de tipo Float. Sino que ves el valor pero expresado en una notación determinada. En el site de microchip hay algunos PDF que explican como manejar float, ahí justamente te muestra como se calculo el valor. El documento se llama DS00575B

Yo trabajé con Float en el MPLAB usando CCS y HiTech como compiladores y funciona bien.
Título: Re: MPLAP y float
Publicado por: Aleix en 29 de Abril de 2010, 18:12:58
Ok, muchisimas gracias.
Yo también he trabajado con floats en MPLAB pero con micros mas potentes, con este no.
Voy a ver la info que me has mandado a ver si lo soluciono.

Atentamente Aleix.