2013-12-04 2 views
0

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

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

mycode ниже:

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 
+0

Вы уверены, что устройство отправляет новую строку? – dbasnett

+0

Я так думаю .. но не уверен. –

+0

Ну, тогда попробуйте returnStr & = Char.ConvertFromUtf32 (com1.ReadChar()) и посмотрим, получите ли вы какие-либо результаты. – MrPaulch

ответ

0

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

PortName BaudRate Паритет бит данных стоповый бит NewLine Рукопожатие

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

Смежные вопросы