Página 1 de 1

Make16 + Vb.net

MensagemEnviado: 30 Jul 2010 14:57
por Diego_Oliveira
Seguinte to com uma duvida:

Uso um microcontolador com usb para se cominicar com uma aplicção minha escrita em vb.net 2008, nisso eu leio um canal analogico do pic que me resulta em uma variavel de 16 bits.

Até ai tudo bem o programa se comunica certinho com o microcontrolador, só que na hora de enviar a variavel de 16 bits eu separo ela atraves de um Make8 (firmware escrito em C) e envio o valor em 2 bytes, porém a duvida que me surgiu foi, qual a meneira correta de se unir novamente estes dois bytes em um só (integer no caso ) porém em VB.net 2008.

Grato pela atenção !

Att

Diego Bittencourt de Oliveira

Re: Make16 + Vb.net

MensagemEnviado: 30 Jul 2010 15:13
por Rodrigo_P_A
Diego_Oliveira escreveu:Seguinte to com uma duvida:

Uso um microcontolador com usb para se cominicar com uma aplicção minha escrita em vb.net 2008, nisso eu leio um canal analogico do pic que me resulta em uma variavel de 16 bits.

Até ai tudo bem o programa se comunica certinho com o microcontrolador, só que na hora de enviar a variavel de 16 bits eu separo ela atraves de um Make8 (firmware escrito em C) e envio o valor em 2 bytes, porém a duvida que me surgiu foi, qual a meneira correta de se unir novamente estes dois bytes em um só (integer no caso ) porém em VB.net 2008.

Grato pela atenção !

Att

Diego Bittencourt de Oliveira


supondo que:

Dim lsb as byte, msb as byte
Dim U16 as Uint16

e que vc já tem o lsb e o msb

faça como em c, rotacione

U16=msb
U16<<=8 ' rotacionou 8 bits para a esquerda
U16 = U16 or lsb ' colocou a parte baixa

pronto, em U16 vc tem a variável montada com os bytes que foram recebidos de forma separada em lsb e msb

MensagemEnviado: 30 Jul 2010 15:25
por Diego_Oliveira
Obrigado por responder, vou testar sua dica e volto a postar assim q tiver um resultado.

Grato pela atenção !

Att

Diego Bittencourt de Oliveira

MensagemEnviado: 30 Jul 2010 16:26
por Diego_Oliveira
Perfeito :D

Funcionou perfeitamente.

Muito obrigado pela ajuda.

Grato pela atenção !

Att

Diego Bittencourt de Oliveira