我们正在开发WinCE SerialPort应用程序.net compact framework 3.5。串行端口DataReceived事件只能在Compact Framework中触发
在serialPort类中我们有DataReceived事件,所幸它只发射一次。
我们的SerialPort设置如下:
_com = new SerialPort();
_com.PortName = str_comport;
_com.BaudRate = pBaudRate;
_com.ReadTimeout = 1000 * 10 * 1;
_com.WriteTimeout = 1000 * 10 * 1;
_com.Handshake = Handshake.None;
_com.ReceivedBytesThreshold = 1;
_com.RtsEnable = true;
_com.DtrEnable = true;
_com.Parity = pParity;
_com.DataBits = pDataBits;
_com.StopBits = pStopBits;
_com.DataReceived += new SerialDataReceivedEventHandler(this.Receive);
_com.Open();
....
private void Receive(object sender, SerialDataReceivedEventArgs e)
{
_receivedString = _port.ReadExisting();
_log.WriteFile("RX : " + _receivedString);
}
我们曾试图先打开端口和连接数据接收到的事件,但也是没有用的。
和相同的代码在Windows XP/Windows 7 Machine上工作正常。可能是什么原因。
通常,这发生在您的DataReceived事件处理程序方法因某些原因未完成时发生。从这里看不到它。我的接收方法中的 – 2012-03-13 13:41:50
将会记录正在获取的数据。 private void Receive(object sender,SerialDataReceivedEventArgs e) { _receivedString = _port.ReadExisting(); _log.WriteFile(“RX:”+ _receivedString); } – Siddharood 2012-03-13 13:54:53