最近在做一个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();
从未进入到事件处理程序。
comPort.ReadTimeout = 100;
comPort.WriteTimeout = 100;
comPort.DataReceived += ByteReceived;
comPort.ReceivedBytesThreshold = 1;
接收事件ByteReceived:
string ComString = ComPort.ReadExisting();
从未进入到事件处理程序。
ComPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
这个事件是你自己写的还是,用vs生成的?(建议用vs自动生成)。
如果不是事件定义的问题,就用一个串口接收程序测试一下是否为通路,并检查数据是否发过来了。
http://download.csdn.net/source/2369323
硬件正常,有数据,,在数据接收事件中设断点,从未进入,用查询可以。
3楼,事件用vs自动生成如何写。
波特率 9600
你波特率都不对