Wellington
não registrado
|
|
Postada em 30/07/2009 23:34 hs
Oi colegas, preciso de ajuda, atraves do VB tenho enviado alguns caracteres pela porta serial (COM1) pelo componente (MsCOMM), EX: envio apenas um caractere de cada vez, gostaria de aprender a enviar uma string do tamanho 15, e tambem monitorar atraves do form do meu aplicativo a chegada de outra string do mesmo tamanho, pergunto é possivel fazer, no recebimento gostaria que ficasse assim: que ao chegar a string ela fosse apresentada ou mostrada no form, sem que eu tenha que pressionar alguma tecla ou botão, para receber ou verificar? Wellington
|
|
|
|
APW
|
S.J.RIO PRETO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 01/08/2009 16:23 hs
ENVIA E RECEBE DADOS PELA COMM
'P/ abra a porta: MSComm1.PortOpen = True
'P/ receber dados: While MSComm1.PortOpen = True If MSComm1.InBufferCount > 0 Then Text1= Text1& MSComm1.Input End If DoEvents Wend
'P/ enviar dados: MSComm1.Output = Text2
'P/ fechar a conexão: MSComm1.PortOpen = False
ai ta um exemplo de usar a com1, fiz um projeto que lia informaçÕes de um microcontrolador é simples o input é o que recebe no exemplo acima a resposta esta aparecendo em um textbox,,, talvez vc vai precisar usar um timer pra controlar a saida das informaçoes,, abs... pra criar um string de tamanha 15 --> (dim sNome as string * 15) tudo que cair nela ficara com 15 caracteres.... até mais...
|
|
|
Wellington
não registrado
|
|
Postada em 02/08/2009 08:31 hs
Obrigado pele ajuda APW, só mais uma dúvida, estes códigos abaixo devo escrever no form, ou em algun botão, para que o recebimento desta string de chegada pela serial seja reconhecida automaticamente e mostrada na caixa de texto, ser ter que pressionar algun botão Wellington
|
|
|
APW
|
S.J.RIO PRETO SP - BRASIL
|
|
Postada em 03/08/2009 19:35 hs
a parte que esta "p/ abrir a porta" e "p/ receber dados" vc pode usa-lo na propriedade LOAD do form...ai ele ficará ativado logo quando o form for carregado...a parte "p/ fechar a conexao" vc pode colocar na propriedade unload do form, e a "p/ enviar dados" vc pode por em um botao ou quando acontecer um evento que vc queira...
em relação a comunicação nao sei em seu caso, mas no meu, precisei usar um timer pra dar um tempo de resposta entre o programa e o microcontrolador, pq senao dava erro, pois o microcontrolador enviava os dados a uma velociade de 9600 bounds e o computador como é mais rapido mesmo configurando o MSCOMM para 9600 acabava travando, entao se precisar coloque um timer de uns 3 milisegundos que funciona ok...
abs...
|
|
|
Wellington
não registrado
|
|
Postada em 03/08/2009 21:30 hs
APW Fiz como vc ensinou coloquei o componente MScomm no form, lançei os código do form do load(), mas ao rodar o programa e tela toda desaparece, vc pode me explicar, onde foi o meu erro? Wellington
|
|
|
|
Postada em 06/08/2009 14:13 hs
Coloque a propriedade Rthreshold = 1, aí vc terá o evento oncomm habilitado. Sempre que chegar um dado, este evento ocorrerá!
|
|
|
|