最近在做一个RS232的程序,遇到一个问题,数据接收事件不起作用。求解答。  ComPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);  comPort = new SerialPort(ComportName, 14400, Parity.even, 8, StopBits.One);
  comPort.ReadTimeout = 100;
  comPort.WriteTimeout = 100;
  comPort.DataReceived += ByteReceived;
  comPort.ReceivedBytesThreshold = 1;
接收事件ByteReceived:
string ComString = ComPort.ReadExisting();
从未进入到事件处理程序。

解决方案 »

  1.   

    用的是哪个控件?
    ComPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
    这个事件是你自己写的还是,用vs生成的?(建议用vs自动生成)。
    如果不是事件定义的问题,就用一个串口接收程序测试一下是否为通路,并检查数据是否发过来了。
      

  2.   

    你用我的例子试试,如果可以,做例子来对照修改你的代码。
    http://download.csdn.net/source/2369323
      

  3.   

    comPort = new SerialPort(ComportName, 14400, Parity.even, 8, StopBits.One);
    硬件正常,有数据,,在数据接收事件中设断点,从未进入,用查询可以。
    3楼,事件用vs自动生成如何写。
    波特率 9600
    你波特率都不对