关于serialPort

.Net技术 码拜 9年前 (2016-05-08) 1240次浏览
为什么serialPort接收数据的时候会触发2次

private void serialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            
            label1.Text = label1.Text + serialPort2.ReadExisting();
            if (label1.Text == "NR\r\n")
            {
                byte[] err = new byte[1];
                err[0] = 0x02;
                serialPort1.Write(err, 0, 1);
            }
        }

这是代码,本人用串口调试助手给serialPort2发送了一个”NR”+“\r\n”,为什么 serialPort1会发送2个02?
这相当于发一次数据触发了2次?这是为什么?

解决方案

40

temp = serialPort2.ReadExisting();
if (temp  != "")
            {
                label1.Text =temp;
            }

你读了2次ReadExisting,第二次肯定为空啊,把第一次的要保存起来temp


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于serialPort
喜欢 (0)
[1034331897@qq.com]
分享 (0)