SERIAL BIT A BIT
Olá pessoal,
Estou precisando saber como faço para fechar a porta serial após o recebimento de dados utilizando o MScomm32.ocx VB6.
Os dados estão sendo transmitidos através de um receptor FM para o PC.
Grato,
Luiz
Estou precisando saber como faço para fechar a porta serial após o recebimento de dados utilizando o MScomm32.ocx VB6.
Os dados estão sendo transmitidos através de um receptor FM para o PC.
Grato,
Luiz
Caro YALFA
[ô]Abre porta
MSCommCNC.PortOpen = True
[ô]Fecha porta
MSCommCNC.PortOpen = False
Boa sorte
[ô]Abre porta
MSCommCNC.PortOpen = True
[ô]Fecha porta
MSCommCNC.PortOpen = False
Boa sorte
Olá Alessandro,
Abrir e fechar eu estou conseguindo, a minha dificuldade é fechar a porta após o recebimento dos dados pela serial do pc. Preciso saber como fechar a porta após o ultimo bit ser recebido. Estou usando o MSComm1_OnComm().
Segue o trecho do codigo.
Public Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
FileData() = MSComm1.Input
Put #1, , FileData()
End Sub
Obrigado,
Luiz
Abrir e fechar eu estou conseguindo, a minha dificuldade é fechar a porta após o recebimento dos dados pela serial do pc. Preciso saber como fechar a porta após o ultimo bit ser recebido. Estou usando o MSComm1_OnComm().
Segue o trecho do codigo.
Public Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
FileData() = MSComm1.Input
Put #1, , FileData()
End Sub
Obrigado,
Luiz
Caro YALHA
Se entendi vc precisa fechar a porta apos a final da transmissão de RECEBIMENTO do controle MSComm32.ocx no evento OnComm()
Você pode comparar dessa forma para poder fechar sua porta
Faço uma menssagem de final de RECEBIMENTO no meu sistema dessa forma ai você pode colocar o seu fechamento no lugar da menssagem.
Veja se isso ajuda
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = 2 And MSComm1.InBufferCount > 0 Then
FileData = CInt(MSComm1.Input)
ByteCount = ByteCount + 1
Put #1, ByteCount, FileData
MSComm1.Output = Chr$(26)
Else
MsgBox [Ô]Recebimento concluido com sucesso!!!![Ô], vbInformation, [Ô]Receiver[Ô]
MSComm1.PortOpen = False [ô]Aqui fica seu fechamento de Porta
End If
End Sub
Boa Sorte
Se entendi vc precisa fechar a porta apos a final da transmissão de RECEBIMENTO do controle MSComm32.ocx no evento OnComm()
Você pode comparar dessa forma para poder fechar sua porta
Faço uma menssagem de final de RECEBIMENTO no meu sistema dessa forma ai você pode colocar o seu fechamento no lugar da menssagem.
Veja se isso ajuda
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = 2 And MSComm1.InBufferCount > 0 Then
FileData = CInt(MSComm1.Input)
ByteCount = ByteCount + 1
Put #1, ByteCount, FileData
MSComm1.Output = Chr$(26)
Else
MsgBox [Ô]Recebimento concluido com sucesso!!!![Ô], vbInformation, [Ô]Receiver[Ô]
MSComm1.PortOpen = False [ô]Aqui fica seu fechamento de Porta
End If
End Sub
Boa Sorte
Alessandro, obrigado até o momento.
Entendi a sua explicação mais ainda falta um detalhe, a porta serial esta sendo fechada antes dos dados serem transferidos para a gravação do arquivo.
A principio estou transferindo um arquivo txt. Percebo que no final do processo (mensagem exibida) o arquivo txt ainda não foi totalmente escrito.
Se puder me ajudar mais uma vez.
Obrigado,
Luiz
Entendi a sua explicação mais ainda falta um detalhe, a porta serial esta sendo fechada antes dos dados serem transferidos para a gravação do arquivo.
A principio estou transferindo um arquivo txt. Percebo que no final do processo (mensagem exibida) o arquivo txt ainda não foi totalmente escrito.
Se puder me ajudar mais uma vez.
Obrigado,
Luiz
amigo vc sabe qual e ultimo caractere que esta sendo enviado pra vc no final de kd trasmisao, e se ele e sempre o mesmo
caso vc saiba qual e coloque uma expressao que quando chegar nele um bit apos vc fecha a porta
caso vc saiba qual e coloque uma expressao que quando chegar nele um bit apos vc fecha a porta
Obrigado a todos, vou direcionar a minha pesquisa em cima das informações passadas.
Tópico encerrado , respostas não são mais permitidas