Ошибка чтения данных через 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, рукопожатие часто нет). Но Ганс прав, если вы не установите все это правильно, вы никогда не будете общаться с вашим устройством. Также лучше открыть последовательный порт один раз во время инициализации вашей программы, а затем оставить его открытым, пока программа не закроется.