Ошибка чтения данных через COM-порт USB

Я использую устройство подсчета людей для чтения записей InCount, Out Count, и оно связано с USB-портом COM3 моего ПК. Я написал код для извлечения данных, при чтении данных я постоянно получаю следующее сообщение..... можно мне какой-нибудь код или идею получить запись?

сообщение.... Время операции истекло.

мой код ниже:

Function ReceiveSerialData() As String
    ' Receive strings from a serial port. 
    Dim returnStr As String = ""

    Dim com1 As IO.Ports.SerialPort
    'SerialPort sp = new SerialPort("COM3", 115200, Parity.None, 8, StopBits.One);     

    Try
        com1 = My.Computer.Ports.OpenSerialPort("COM3")
        com1.BaudRate = 115200
        com1.ReadTimeout = 10000

        Do
            Dim Incoming As String = com1.ReadLine()
            If Incoming Is Nothing Then
                Exit Do
            Else
                returnStr &= Incoming & vbCrLf
            End If
        Loop
    Catch ex As TimeoutException
        returnStr = "Error: Serial Port read timed out."
    Finally
        If com1 IsNot Nothing Then com1.Close()
    End Try

    Return returnStr
End Function

1 ответ

Вы должны знать как минимум следующие 7 параметров для устройства, с которым вы пытаетесь установить связь, и настроить свойства последовательного порта на соответствие.

PortName BaudRate Четность данных Биты StopBits NewLine Рукопожатие

Некоторые из них вы можете догадаться (четность, как правило, нет, биты данных, как правило, 8 стоп-битов, как правило, 1, рукопожатие часто нет). Но Ганс прав, если вы не установите все это правильно, вы никогда не будете общаться с вашим устройством. Также лучше открыть последовательный порт один раз во время инициализации вашей программы, а затем оставить его открытым, пока программа не закроется.

Другие вопросы по тегам