本人的一个串口程序,用的是SerialPort类,工作一天多的时候突然出现问题,我以为是线程阻塞  断点发现是乱码了工作了一天多了 突然就乱码的,后来我又重新开启程序,继续工作了一天多,后面的数据又乱码,串口发送和接受都是Unicode编码,接收端代码如下
public void DoReceive()
        {
            int l = sport.BytesToRead;
            byte[] ch = new byte[l];
            int bytesRead = 0;
            bytesRead = sport.Read(ch, 0, l);
            string str = Encoding.Unicode.GetString(ch, 0, bytesRead);
            BitConverter.ToString(ch);
            strReportbao = str;
            Thread t = new Thread(new ThreadStart(OperateReportbao));//建立新线程用来处理报文包
            t.Start();//打开线程
            t.Join();//等待线程结束
            t.Abort();//销毁线程
        }