我正在使用人数设备来读取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
答案 0 :(得分:0)
您必须至少知道要尝试与之通信的设备的以下7个参数设置,并设置您的串行端口属性以匹配。
PORTNAME 波特率 平价 数据位 停止位 新队 握手
您可能会猜到其中一些(奇偶校验通常为无,Databits通常为8个停止位通常为1,握手通常为无)。但汉斯是正确的,除非你正确地设置了所有这些,否则你永远不会与你的设备通信。最好在程序初始化期间打开串口一次,然后保持打开直到程序关闭。