解决方案 »

  1.   

    strRcv是null,你还没有初始化呢,或者说for循环就没进去
      

  2.   

    strRcv = null;
    ->
    strRcv = string.Empty;
      

  3.   

    if(strRcv!=null){
    string data=strRcv.toString();
    }
      

  4.   

    就这个问题来说,你判断个NULL就可以了,这样用串口不是最优的,你去论坛里找个串口调试助手的例子看看,会好些
      

  5.   

    这个是什么问题呢?就是我用data去截取strRcv中的第3位到第6位,第7位到第八位,返回的数据在截图中也显示出来了,为啥还出错呢?
      

  6.   

    你把返回数据用messagebox显示出来,你看看是不是长度不够
      

  7.   

    你接收数据的时候有可能没有LOCK  导致接收数据冲突了 就是当你运行到截取字符串的时候 然后又有数据接收到了 这时候strRcv变空值了 
      

  8.   

    上位机向下位机发送多帧命令时,下位机返回的数据会分成两行显示在TextBox中,(最多一行显示16个字节),这样截取返回的数据并显示到不同的控件就会出现超过长度的问题,这个怎么破?谁遇到过?望不吝赐教