Autor Tema: MPLAP y float  (Leído 1657 veces)

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

Desconectado Aleix

  • PIC10
  • *
  • Mensajes: 8
MPLAP y float
« 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.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: MPLAP y float
« Respuesta #1 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.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Aleix

  • PIC10
  • *
  • Mensajes: 8
Re: MPLAP y float
« Respuesta #2 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.


 

anything