使用VB.net 2008读取串口时出现问题

时间:2011-10-02 21:27:24

标签: vb.net serial-port

让我先告诉你我一直面临的问题。我的微控制器与我的电脑的串口连接。在我的微控制器中,我有2000个样本数据,我的主要目标是读取这些数据。现在我可以在超级终端中读取这些数据,但是当涉及到我的应用程序时,它不会显示任何内容。现在我对VB.net很新,所以必须要有一些东西缺失。

Private Sub sp1_DataReceived(ByVal sender As Object,ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)处理sp1.DataReceived

    sp1.Open()
    MsgBox(sp1.ReadExisting())

End Sub

这个简单的代码块应该向我显示数据。但它没有。

数据格式即将发布的微控制器在以下格式中:

nitialization成功!,1023
开始抽样过程... 1023,1023 1023,1023

0,2103,1023 1023,1023 1023,1023 212,686 1023,1023 1023,1023
1,5 1023,1023 1023,1023 1023,1023,659 213,689 1023,1023 1023,1023

现在,我不明白为什么它没有读任何东西:(请帮帮我。谢谢

注意:SP1的波特率为19200,Databits为8,没有奇偶校验,COM1端口。我不确定我是否需要缓冲区

1 个答案:

答案 0 :(得分:1)

您需要检查是否需要打开流量控制。

通常,串口将使用RTS硬件流控制。设置RtsEnable = True将允许数据流向您的应用程序。

正如另一条评论中所提到的,您不应该尝试在数据接收事件处理程序中打开串行端口对象。触发数据接收事件时,串口对象应该已经打开。这可能是您在执行ReadExisting方法时没有获取数据的原因。