如何使触发serialport事件的条件是当接收缓存区中的字节数大于某一个数。

解决方案 »

  1.   

    有个属性来设置ReceivedBytesThreshold
      

  2.   

    +1
    直接设置ReceivedBytesThreshold的值就可以
      

  3.   

    先取得串口缓存中的字节长度,再判定,符合要的长度才读取数据,否则清空如下是取 20到30之间的 ,其它都不处理                
                    int len = SpComScan1.BytesToRead; ;  //获取长度
                      if (len < 20) return;
                    if (len > 30)
                    {
                        SpComScan1.DiscardInBuffer();
                        return;
                   }
                   byte[] Data = new byte[len];
                   SpComScan1.Read(Data, 0, len);