用serialPort串口通讯,返回数据有问题!
RT,返回的字节数据正确有几项,错误都显示为63,不知道是什么原因? 
 我是写完串口数据之后,延时了大于一秒再去读返回数据的! 
 请高手指点一二!谢谢,在线等!
------解决方案--------------------是读取的时候数据都错误,还是部分正确部分错误? 
 如果,如果是部分错误的话,我决定你的线路是否稳定? 
 如果都错误的话,你确定一下你的通讯协议,是否正确. 
 有串口监听程序,你可以试试.
------解决方案--------------------波特率是否有问题 
------解决方案--------------------确定下位机的程序没问题吗?
------解决方案--------------------DEVICE_CONTROL:SET_CHARS ,两个程序的结果不一样,我怀疑是缓冲区大小,字节长度等问题, 
 用的是什么方法?代码如何?我用的如下: 
  private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e) 
         { 
             // 多线程 
             if (threadCallHandler == null) 
             { 
                 threadCallHandler = new SerialDataReceivedEventHandler(myPort_DataReceived); 
             }   
             if (this.InvokeRequired) 
             { 
                 this.Invoke(threadCallHandler, new object[] { sender, e }); 
                 return; 
             }   
             // 俘获异常 
             try 
             { 
                 string data = (sender as SerialPort).ReadExisting(); 
                 txtReceive.Text = txtReceive.Text + data;   
                 txtReceive.SelectionStart = txtReceive.TextLength; 
                 txtReceive.ScrollToCaret(); 
             } 
             catch (Exception ex) 
             { 
                 myPort.Close(); 
                 MessageBox.Show(ex.Message); 
             } 
         }   
 最好先查看数据位,校验位,停止位等等初始化的设置是否和另外一个程序一致 
             myPort.PortName = Convert.ToString(cboPort.SelectedItem); // 串口 
             myPort.BaudRate = Convert.ToInt16(cboRate.Text);  // 波特率 
             myPort.DataBits = 8;  // 数据位 
             myPort.Parity = Parity.None; ; // 校验位 无校验 
             myPort.StopBits = StopBits.One; ;// 停止位1位 
 希望对你有帮助