2011-03-18 79 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屬性可以確定在緩衝區中有多少數據需要讀取。

注意,網頁也提的是,該緩衝行爲複雜的事情......