用cserial port 做的串口通信,从数据处理机收到的数据为一组数据,怎样用链表或类似的结构存储下这一帧数据(结构体?),然后将这帧数据整体读取出去呢。最好能用链表之类的,因为发和收数据速度不同,用buffer可能掉包。

解决方案 »

  1.   

    你的一组数据是2进制的还是text的,是固定长度的吗?
      

  2.   

    你可以开一个list,每次读进来就add一下.List<byte[]> listData = new List<byte[]>();读进来的数据解析为 byte[] data= 串口读入的数据;listData.Add(data);
      

  3.   

    这样的话怎样往外发呢,还是直接往外传list的位置。
      

  4.   

    List<byte[]> listData = new List<byte[]>(); 
    listData.Add(new byte[] { 1, 1, 1 }); 
    listData.Add(new byte[] { 2, 2, 2 }); 
    byte[] bb = listData[0]; 
    bool a=listData.Remove(bb); 
    bb = listData[0]; 第一次加了两个数据,读出第0个数据{1,1,1},删除第0个数据,读出第0个数据就是原来的{2,2,2}