2011-03-18 73 views
1

我得到了一个Arduino连接到PC并希望读取它的串行端口。 我用com.Readline读取了Visual Basic中的串口,但它不会读取所有内容。 它通过串行端口发送到Visual Basic代码约2-3行。 他们得到“失落”。代码中的串口,Visual Basic 2010

如果我有更高的波特率(57600)就失去更行走得...

我使用它来阅读:

Private Sub com9_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles com.DataReceived 
     Dim returnStr As String 
     returnStr = com.ReadLine 
     ReceiveSerialData(returnStr) 
End Sub 

是程序来获取所有数据过慢或问题是什么?

回答

1

SerialPort.DataReceived Event有一个有趣的评论,可能你指出正确的方向:

不保证该DataReceived事件检索,以提高对收到的每个字节。使用BytesToRead属性可以确定在缓冲区中有多少数据需要读取。

注意,网页也提的是,该缓冲行为复杂的事情......