Tenho programinha que to fazendo para ler dados da serial no meu caso dados de uma balança.
segue abaixo o software inteiro:
Private Sub Command1_Click()
MSComm1.Output = Chr$(240) + Chr$(1) + Chr$(1) + Chr$(240)
End Sub
Private Sub Command2_Click()
' Usa COM2.
MSComm1.CommPort = 2
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "9600,N,8,1"
' Indica que o controle deve ler todo o conteúdo do buffer
' quando o input é usado.
MSComm1.InputLen = 0
' Indica que os dados que chegarem estarão no formato texto
MSComm1.InputMode = comInputModeBinary
' Gera um evento OnComm a cada byte recebido
MSComm1.RThreshold = 1
' Espera o buffer de saída ter apenas 1 byte para enviá-lo
MSComm1.SThreshold = 1
' Abre a porta.
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Dim strsaida As Variant
Dim tamanho, tamanho2 As Integer
Select Case MSComm1.CommEvent
' Handle each event or error by placing
' code below each case statement
' Errors
Case comEventBreak ' A Break was received.
Case comEventCDTO ' CD (RLSD) Timeout.
Case comEventCTSTO ' CTS Timeout.
Case comEventDSRTO ' DSR Timeout.
Case comEventFrame ' Framing Error
Case comEventOverrun ' Data Lost.
Case comEventRxOver ' Receive buffer overflow.
Case comEventRxParity ' Parity Error.
Case comEventTxFull ' Transmit buffer full.
Case comEventDCB ' Unexpected error retrieving DCB]
' Events
Case comEvCD ' Change in the CD line.
Case comEvCTS ' Change in the CTS line.
Case comEvDSR ' Change in the DSR line.
Case comEvRing ' Change in the Ring Indicator.
Case comEvReceive ' Received RThreshold # of chars.
Text2.Text = MSComm1.InBufferCount
Text2.Text = MSComm1.Input
Case comEvEOF ' An EOF charater was found in ' the input stream
End Select
End Sub
O codigo está funcionando......mas no text2.text está recebendo apenas o "?".
neste caso preciso que joga o valor chegando da balança no text2.text,alguém poderia me ajudar?
Pergunta
vb6
Boa noite!
Tenho programinha que to fazendo para ler dados da serial no meu caso dados de uma balança.
segue abaixo o software inteiro:
Private Sub Command1_Click()
MSComm1.Output = Chr$(240) + Chr$(1) + Chr$(1) + Chr$(240)
End Sub
Private Sub Command2_Click()
' Usa COM2.
MSComm1.CommPort = 2
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "9600,N,8,1"
' Indica que o controle deve ler todo o conteúdo do buffer
' quando o input é usado.
MSComm1.InputLen = 0
' Indica que os dados que chegarem estarão no formato texto
MSComm1.InputMode = comInputModeBinary
' Gera um evento OnComm a cada byte recebido
MSComm1.RThreshold = 1
' Espera o buffer de saída ter apenas 1 byte para enviá-lo
MSComm1.SThreshold = 1
' Abre a porta.
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Dim strsaida As Variant
Dim tamanho, tamanho2 As Integer
Select Case MSComm1.CommEvent
' Handle each event or error by placing
' code below each case statement
' Errors
Case comEventBreak ' A Break was received.
Case comEventCDTO ' CD (RLSD) Timeout.
Case comEventCTSTO ' CTS Timeout.
Case comEventDSRTO ' DSR Timeout.
Case comEventFrame ' Framing Error
Case comEventOverrun ' Data Lost.
Case comEventRxOver ' Receive buffer overflow.
Case comEventRxParity ' Parity Error.
Case comEventTxFull ' Transmit buffer full.
Case comEventDCB ' Unexpected error retrieving DCB]
' Events
Case comEvCD ' Change in the CD line.
Case comEvCTS ' Change in the CTS line.
Case comEvDSR ' Change in the DSR line.
Case comEvRing ' Change in the Ring Indicator.
Case comEvReceive ' Received RThreshold # of chars.
Text2.Text = MSComm1.InBufferCount
Text2.Text = MSComm1.Input
Case comEvEOF ' An EOF charater was found in ' the input stream
End Select
End Sub
O codigo está funcionando......mas no text2.text está recebendo apenas o "?".
neste caso preciso que joga o valor chegando da balança no text2.text,alguém poderia me ajudar?
obrigado
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.