Noticias:

:veleta: El tema del mes como instalar una estación meteorológica. Es un tema importante, donde te explica como ubicar los sensores meteorológicos para que midan las variables meteorlógicas en forma eficiente.

Menú Principal

Como pasar un WORD a dos BYTE

Iniciado por David Met, Agosto 02, 2012, 07:22:02 PM

Tema anterior - Siguiente tema

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

David Met

La manera de pasar un word a dos byte (o cualquier otro tipo de variable) es haciendo un ARRAY.
Supongamos que tenemos una variable llamado TOTALT (WORD) y otras dos variables más TOTALa y TOTALb (ambas BYTE); y deseamos pasar el valor TOTALT a las dos variables byte; ya que, por ejemplo, debemos enviarla por la USART de 8 bit (*). Como ven, TOTALT no entra en el registro de la USART.

¿Cómo debemos hacer? Definimos un ARRAY de la cantidad de byte a usar. En nuestro caso 2.

var word totalt
var byte total_temp[2] at totalt  -- Acabamos de definir un array de dos byte y está asociada a totalt que es un word.
var byte totala
var byte totalb

Luego recuperamos los valores utilizando el array.

totala = total_temp[1]  -- totala tiene la parte alta de TOTALT
totalb = total_temp[0]  -- totalb tiene la parte baja de TOTALT

(*) Nota: la librería que trae JALv2 para enviar datos por la USART, contempla la opción de enviar un WORD. Lamentablemente, esta opción la descubrí tarde; ya que manejaba por mi cuenta, a la USART y no usando la librería.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

ruibal69

David , veo que el tema es antiguo, has probado como lo hace Jalv2 en la librerias.

var word dato
var bit * 8    dato_low    at  dato:0
var bit * 8    cato_high   at  dato:8

David Met

No, no lo he probado.
Habría que ver cual ahorra memoria o si es indistinto.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

ruibal69

Te indique esta forma, pues es la manera que definen los registros internos de los pic y de ahi saque la idea.

David Met

Se me había pasado por alto, seguramente, porque desconocía como trabajan los lenguajes de alto nivel.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.