Noticias:

Grupo en telegram, del foro de meteorología fácil: https://t.me/meteorologiafacil

Para mas detalles, puedes visitar el siguiente tema https://www.meteorologiafacil.com.ar/foros/index.php?topic=1608.0

Espero que les sea de mucha utilidad.

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.