我写了一个串口读写程序,用了serialport类,ReceivedBytesThreshold=5,当接收到5个byte时就会触发事件,开始读缓存里的内容。现在出现一个诡异的问题,就是假设我给串口发5个byte,内容为11 22 33 44 55
串口会显示:接收到5个字节
R:11 22 33 44 55
接收到0个字节
R:相关代码如下,麻烦大家帮我看看问题出在哪里了呢?谢谢!
private void Receive2()
        {
            serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
        }
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)//收ACK
        {            
            int bytes = serialPort1.BytesToRead;// 获取字节长度   
            UpdateUI("接收到"+bytes.ToString());//该函数把括号中的字符串添加到listbox中
            mybuffer = new byte[bytes];   // 创建字节数组  
            serialPort1.Read(mybuffer, 0, bytes);  // 读取缓冲区的数据到数组
            UpdateUI("R:"+dis_package(mybuffer));
        }