Envío de datos en punto flotante desde el pic al computador y viceversa

Según la necesidad requerida en el diseño, es necesario algunas veces enviar datos en formato float desde el microcontrolador hacia el computador. Existe un problema en ello debido a que son notaciones distintas en ambos lados. Por lo menos en este caso se debe hacer una conversión de formatos para solucionar aquello.

Esto puede solucionarse desde uno de los dos lados y en esta ocasión será del lado del microcontrolador ya que el compilador con que se programa, en este caso CCS, tiene una librería que realiza a cabalidad esta labor.

    Programación del lado del PIC:

El post de hoy es para explicar una librería que le servirá a más de alguno que trabaje programando PICs en CCS. La librería es ieeefloat.c

1.1.  Introducción:

Esta librería fue creada con la intención de transformar formatos float. CCS sigue la notación punto flotante de Microchip mientras que en muchos otros casos, por ejemplo el computador; sigue la notacion float IEEE 754. La Figura 1 muestra la diferencia entre estos dos formatos. Como se puede observar solo es el bit de signo quien esta desplazado.

Figura 1 diferencias entre notaciones float Microchip y IEEE 754

1.2.  Funciones asociadas:

Para enviar los datos desde el microcontrolador al computador fue necesario realizar una conversión para que se pudieran entender ambas partes. Son dos funciones las que posee la librería y estas son:

f_PICtoIEEE(f): Convierte el número punto flotante de formato CSS hacia otro punto flotante en formato IEEE.

Parámetros asociados:

  • Entrada: Numero tipo punto flotante (CCS float).
  • Salida: Entero de 32 bit (int32).

f_IEEEtoPIC(f): Convierte el número punto flotante de formato IEEE (proveniente del computador) a un número float para el programa compilado en CCS.

Parámetros asociados:

  • Entrada: Número tipo entero de 32 bit (int32).
  • Salida: Punto flotante (CSS float).

Se ejemplifica en la figura 2 cuando se debe usar una función u otra.

Figura 2  Conversión en punto flotante desde el compilador

hacia el computador y viceversa.

Por ahora ese mini-tutorial. Para otro post veremos como enviar estos datos por USB con el PIC18F2550 y ser recibidos por un programa realizado en Visual C# Express 2008

Descargar PDF de este mini-tutorial

0 comments

Deja un comentario