Autor Tema: Librería math.h en ccs  (Leído 3864 veces)

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

Desconectado ingeniero18

  • PIC10
  • *
  • Mensajes: 20
Librería math.h en ccs
« en: 23 de Octubre de 2015, 00:05:49 »
Cómo andan? Descubrí hace poco la librería math.h y me encontré que en ella hay muchas funciones matemáticas las cuales necesito aplicar en mis proyectos.
Empecé probando con la función log10(x) para sacar el logaritmo en base diez de x. El tema es que al aplicarla no logro que la función me devuelva un resultado.
Ejemplo:
llamo la función al principio del programa: #include <math.h>
establezco una variable: float32 x;
aplico la función:           x=log10(4);
El resultado debería ser aprox. 0.6, pero cuando simulo en proteus para que me muestre el valor de las variables en juego, el resultado aparece directamente en blanco.

Qué estaré haciendo mal?

Gracias!!!!

Desconectado ingeniero18

  • PIC10
  • *
  • Mensajes: 20
Re:Librería math.h en ccs
« Respuesta #1 en: 23 de Octubre de 2015, 22:54:40 »
Solucionado!!! Después de buscar la solución durante dos días, llegué a la conclusión de que el problema es la versión del proteus y no la librería.

Para que proteus te reconozca variables tipo float y muestre su valor, hay que agregar {DT_FLOAT=MICROCHIP_BIGENDIAN} en el campo "Other Properties" dentro de las propiedades del micro. El tema es que esto sólo funciona para versiones de proteus desde el 2011 en adelante, por lo que me instalé la 7.10 y anduvo al toque.

Gracias!!!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Librería math.h en ccs
« Respuesta #2 en: 23 de Octubre de 2015, 23:28:50 »
Eso seguro es por que Microchip utiliza su propia version de flotante. Y no es compatible con la IEEE 754. Solo cambia un bit. peeero... todo puede pasar