串行端口的RS232通信问题:DataRecieved事件未触发(VS2008)

时间:2012-11-12 17:14:24

标签: vb.net vb6

我正在使用VS2008 SerialPort V2.0.0.0。绝对没有来回沟通。

我知道代码有效,因为同一个应用程序在不同客户端的计算机上运行。 我知道串口到USB电缆的驱动程序是有效的,因为我在vb6 mscomm应用程序上设置它,我得到了通信。 我知道我正在设置电缆,零调制解调器和一切,因为我在vb6应用程序中进行了通信。 我认为这是一个Windows 7问题,所以我在XP上安装了我的应用程序,仍然无法正常工作。

有什么我想念的吗?是否需要运行SerialPort v2.0.0.0的某个Service Pack组件?我应该尝试VS 2010,它会有所作为吗?

谢谢

2 个答案:

答案 0 :(得分:0)

您已将此标记为vb6,尽管您似乎使用的是vb.net

如果您使用的是vb6:mscomm控件的属性是什么?

确保RThreshold和SThreshold属性都为0

答案 1 :(得分:0)

我不使用vb​​.net但是在c#中我使用了serialport控件的datareceived事件,如下所示:

    private void comKAR_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    //process incoming RS232 data
    {
        byte[] bytArray;
        int intCount;
        intCount = comKAR.BytesToRead;
        bytArray = new byte[intCount];
        comKAR.Read(bytArray,0,intCount);
        ShowData(bytArray);
        ShowTraffic(bytArray,1);
    }

serialport控件的属性与放置在表单上的默认属性没有区别