Comunicaçao serial
Private Sub Command1_Click() 'a rotina do enviar dados quando clicado'
Dim pacote As String ' declaração da variavel pacote como caracter'
For cont = 1 To Len(Text1.Text) 'rotina de repetição iniciando de 1 até o tamanho do texto' crc = crc + Asc(Mid(Text1.Text, cont, 1)) 'pega uma letra do texto de cada vez converte em numaro e soma com anterior'
Next pacote = "@@" & Text1.Text & Right("00000000" & crc, 8) & "##" 'pacote recebe start bit depois o texto completar os 8 bits'
MSComm1.Output = pacote ' atribui a saida serial o pacote a ser enviado'
Text1.Text = "" ' na caixa de texto 1 aparece somente o que estiver entre as aspas'
End Sub ' fim da rotina'
Private Sub Form_Load() ' a rotina de carregamento do formulário'
MSComm1.PortOpen = True ' habilita a porta serial'
End Sub ' fim da rotina'
Private Sub Timer1_Timer() ' rotina do temporizador'
Dim pacote As String ' declaração variavel como caracter' pacote = MSComm1.Input 'a variavel pacote receber dados da serial a serem lidos'
If Len(pacote) < 4 Then Exit Sub 'teste para verificar se o pacote está completo'
If Left(pacote, 2) = "@@" Then 'comado que oculta o start bit' If Right(pacote, 2) = "##" Then 'comado que oculta o stop bit' Dados_recebidos = Mid(pacote, 3, Len(pacote) - 12) ’Vai receber parte do texto iniciando do 3º caracter e subtrair os últimos 12’ crc_recebido = Mid(pacote, Len(pacote) - 9, 8)’Vai receber parte do pacote, subtrairá 9 caracteres e depois somará 8’ For cont = 1 To Len(Dados_recebidos)’Rotina de repetição que inicia no 1º caracter e repete até o último’ crc = crc + Asc(Mid(Dados_recebidos, cont, 1))’Converte cada letra em um número e soma com a anterior’
Next ‘passa pra próxima rotina’
If Val(crc_recebido) = Val(crc) Then ‘Teste para verificar se a soma dos caracteres recebidos são iguais aos que foram enviados’
Text2.Text = Text2.Text & Chr(13) & Chr(10) & Mid(pacote, 3, Len(pacote) -