Visual Basic 2010中的代码串口

时间:2011-03-18 19:19:33

标签: vb.net serial-port arduino

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

如果我使用更高的波特率(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 个答案:

答案 0 :(得分:1)

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

  

不保证每收到一个字节都会引发DataReceived事件。使用BytesToRead属性确定要在缓冲区中读取多少数据。

请注意,页面还提到了缓冲行为使事情变得复杂的事实......