MyException - 我的异常网
当前位置:我的异常网» C# » SerialPort串口通讯中DataReceived事件不能触发

SerialPort串口通讯中DataReceived事件不能触发(10)

www.MyException.Cn  网友分享于:2013-02-20  浏览:827次

            buttonOpenClose.Text = comm.IsOpen ? "Close" : "Open";
            buttonSend.Enabled = comm.IsOpen;
        }    
       
    }
}  
------解决方案--------------------
一个串口没错。你发给别人,别人收啊。就像打电话,你是用一部电话的情况多。但不能自己拨给自己,还聊的不亦乐乎啊。如果纯粹做试验,可以把收发短接,自己说,自己听。测试可以。实际过程,你的com1连接另一个设备,你发命令,收设备发的数据哦。不能收自己的啊。否则不用发了嘛。
------解决方案--------------------
 private void btnGetReader_Click(object sender, EventArgs e)
        {
            string meterNo = "000801386009";
                        if (!comm.IsOpen)
            {
                comm.Open();
            }

          
            string sendText = "FEFEFE" + strMeterNo + strControlCode + strDataLength + strDataFlag + strData + strVerifyCode;
            byte[] sendByte = GetBytesFromHex(sendText);
            //定义一个变量,记录发送了几个字节
            int n = sendByte.Count();
            comm.Write(sendByte, 0, sendByte.Count());
            lblSendText.Text = sendText;
            lblSendCount.Text = n.ToString();         
        }

看看我红色Mark的地方。你Code看是没什么问题的
------解决方案--------------------
  comm.DataReceived += comm_DataReceived; 这个不太对吧
  comm.DataReceived+= new EventHandler(comm_DataReceived);
 下面是我原来的代码供参考
port.DataReceived += new SerialDataReceivedEventHandler(DataReceived); //接收事件
port.ErrorReceived += new SerialErrorReceivedEventHandler(ErrorEvent);//异常处理
------解决方案--------------------
  comm.DataReceived += comm_DataReceived;
事件委托名不对吧
 comm.DataReceived += new DataReceivedEventHander(comm_DataReceived)
是这个吧

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有