USB COM端口数据读取错误

时间:2013-12-04 12:51:13

标签: vb.net serial-port windows-applications

我正在使用人数设备来读取InCount,Out Count记录并且它与我的PC COM3 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

1 个答案:

答案 0 :(得分:0)

您必须至少知道要尝试与之通信的设备的以下7个参数设置,并设置您的串行端口属性以匹配。

PORTNAME 波特率 平价 数据位 停止位 新队 握手

您可能会猜到其中一些(奇偶校验通常为无,Databits通常为8个停止位通常为1,握手通常为无)。但汉斯是正确的,除非你正确地设置了所有这些,否则你永远不会与你的设备通信。最好在程序初始化期间打开串口一次,然后保持打开直到程序关闭。