none
Ler porta serial RRS feed

  • Pergunta

  • Pessoal.

    Como faço para ler uma entrada de dados diretamente da porta serial (COM)?

    Agradeço desde já.

    Marcelo Moraes.

    quarta-feira, 17 de janeiro de 2007 18:37

Todas as Respostas

  • Marcelo,

    Você vai utilizar o componente Serial Port, o artigo abaixo explica como funciona.

    http://support.microsoft.com/default.aspx/kb/823179

    Abraço,
    quarta-feira, 17 de janeiro de 2007 19:02
  • Marcelo

    ai vai um codigo que eu acho que poderia te ajudar

     

    Private Function LeBalanca(ByVal PortaSerial As String, ByVal baudeRate As Int16) As String

    Dim Retorno As String = String.Empty

    Try

    Using Porta As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort(PortaSerial)

    Porta.BaudRate = baudeRate

    Porta.DataBits = 8

    Porta.Parity = IO.Ports.Parity.None

    'Porta.StopBits = IO.Ports.StopBits.One

    Porta.ReadTimeout = 2000 ' em milisegundos

    Dim LinhaLeitura As String = Porta.ReadLine

    If LinhaLeitura Is Nothing Then

    Retorno = String.Empty

    Else

    Retorno &= LinhaLeitura & vbCrLf

    End If

    End Using

    'Tratar Excessões

    Catch ex As Exception

    MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)

    End Try

    Return Retorno

    End Function

    quinta-feira, 18 de janeiro de 2007 14:21
  • Obrigado Klayton.

    Mais uma dúvida. Como eu aplico esta função? Onde devo fazer a chamada dela? Preciso rodar a chamada dela dentro de um loop para que ela fique lendo sem parar?

    Desculpe, mas é que nunca vi coisa parecida funcionando, então preciso de mais detalhes sobre a aplicação de uma função dessas.

    Agradeço antecipadamente.

    Marcelo.

    sexta-feira, 19 de janeiro de 2007 10:27