最近写Serialport接收数据的时候发现一个小问题,需要接收的字符串最后一位有时会在下一次接收数据的时候接收到,如:连续发送过来abcdefg ,接收的时候第一次接收到abcdefg ,第二次接收到abcdef 第三次接收到gabcdef ,
非常奇怪
认真研究一下Serialport发现 必须判断BytesToRead是否大于0
Thread.Sleep(50);
if (serialport.BytesToRead > 0)
{
//循环接收
}