一台电脑上用串口助手循环发送“http://www.cmsoft.cn”
然后接收的线程里是这样写的
byte[] readdata = new byte[20];
            sp.Read(readdata, 0, 20);
            Received_Msg = Encoding.ASCII.GetString(readdata);
基本上收到的是
h
ttp://www.cmsoft.cnh
ttp://www.cmsoft.cnh
...
在最后一行处断点 看到局部变量
readdata 确实104 0 0 0 0 ....
伸手求解释c#串口

解决方案 »

  1.   

    改成byte[] readdata = new byte[21];
      

  2.   

    这样的话就
    h
    ttp://www.cmsoft.cnht
    tp://www.cmsoft.cnhtt
    ...
    这样子
    这可能和串口助手的write方法有关 具体我就说不清了
    还有直接用readexisting
    能收到“http://www.cmsoft.cnhttp://www.cmsoft.cn”
      

  3.   

    后来判断很可能不是程序的问题lz机器上的com1坏掉了 用的是U口转串的 
    因为发现有时连上后确实是收不到数据的
    重新插拔过后 程序看起来是好用的readdata里的0是初始值
    至于循环的数据为何会如此被分断 果然难想通