Buffer de bits

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Buffer de bits

Valmir Manfrim
Olá pessoal,

Na minha aplicação necessito criar uma mensagem (array de bits) para ser enviada via interface RS232, no entanto, o tamanho dos campos que a compõem é dado em bits e não em bytes. Segue abaixo um exemplo:

Campo 1: 21 bits
Campo 2: 20 bits
Campo 3: 7 bits
Campo 4: 3 bits

Alguém conhece alguma biblioteca Lua que faça este trabalho, onde eu passe um valor e o tamanho dele em bits e a biblioteca o adiciona no buffer, depois no fim me devolve o buffer montado ?

--
Lua BR - http://groups.google.com/group/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Buffer de bits

Ignacio Burgueño

--
Lua BR - http://groups.google.com/group/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Buffer de bits

Lourival Vieira Neto
In reply to this post by Valmir Manfrim
Ola' Valmir,

2015-05-19 10:30 GMT-03:00 Valmir Manfrim <[hidden email]>:

> Olá pessoal,
>
> Na minha aplicação necessito criar uma mensagem (array de bits) para ser
> enviada via interface RS232, no entanto, o tamanho dos campos que a compõem
> é dado em bits e não em bytes. Segue abaixo um exemplo:
>
> Campo 1: 21 bits
> Campo 2: 20 bits
> Campo 3: 7 bits
> Campo 4: 3 bits
>
> Alguém conhece alguma biblioteca Lua que faça este trabalho, onde eu passe
> um valor e o tamanho dele em bits e a biblioteca o adiciona no buffer,
> depois no fim me devolve o buffer montado ?

Acho que Luadata [1] pode ajuda-lo.

[1] github.com/lneto/luadata/

-- exemplo
local data = require'data'

local buffer = data.new(7)

buffer:layout{
   f1 = { 0, 21},
   f2 = {21, 20},
   f3 = {41, 7},
   f4 = {48, 3}
}

buffer.f1 = 0xb
buffer.f2 = 0xe
buffer.f3 = 0xe
buffer.f4 = 0xf

--
Lourival Vieira Neto

--
Lua BR - http://groups.google.com/group/lua-br
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/d/optout.