none
Comunicación SerialPort, error read timed out RRS feed

  • Pregunta

  • Estoy programando una aplicación para leer por el puerto serie y parsear las lecturas, el caso es que sigo el ejemplo de la documentación y siempre me salta a la excepción 'TimeoutException', y sé que funciona porque si uso un programa como el PuTTy para leer el puerto serie, funciona perfectamente.

    CÓDIGO:

        Private Sub comPortList_SelectedIndexChanged(sender As Object, e As EventArgs) Handles comPortList.SelectedIndexChanged
            Try
                com1 = My.Computer.Ports.OpenSerialPort(comPortList.SelectedItem, 9600)
                com1.ReadTimeout = 10000
                Do
                    Dim Incoming As String = com1.ReadLine()
                    If Incoming IsNot Nothing Then
                        MsgBox(Incoming & vbCrLf)
                    End If
                Loop
            Catch ex As TimeoutException
                msg.Text = "Error: Restart App."
                msg.ForeColor = Color.Red
            Finally
                If com1 IsNot Nothing Then com1.Close()
            End Try
        End Sub

    Alguna idea?

    sábado, 6 de febrero de 2016 19:08

Respuestas

  • La función ReadLine, lee una línea. Retorna cuando encuentra un "new line".

    Si la comunicación no lo incluye (sea lo que fuere el nl, crlf o sólo lf), la función no retorna y la excepción es disparada.

    sábado, 6 de febrero de 2016 21:00

Todas las respuestas

  • La función ReadLine, lee una línea. Retorna cuando encuentra un "new line".

    Si la comunicación no lo incluye (sea lo que fuere el nl, crlf o sólo lf), la función no retorna y la excepción es disparada.

    sábado, 6 de febrero de 2016 21:00
  • Muchas gracias, he conseguido solucionarlo, se me había olvidado programar mi hardware para que enviara \n\r al final de cada mensaje, he solucionado la "incidencia", lo normal es usarlo para hardware ya hecho, pero como lo he fabricado yo, con la emoción me he olvidado de hacer "los estándares".

    Gracias y un saludo.

    sábado, 6 de febrero de 2016 21:34