使用串口收数据,接收端是这样写的,但是会丢帧,可能因为分包时候对bufstr的操作吗,怎么更好的写可以不丢包
int count = Serial.Port.BytesToRead;
byte[] buffer = new byte[count];
Serial.Port.Read(buffer, 0, count);
bufstr = bufstr + Encoding.ASCII.GetString(buffer);
Console.WriteLine(bufstr);
int i = bufstr.IndexOf("\r\n");
while (i != -1)//粘连分包
{
GetMessage(1, new string(bufstr.Take(i).ToArray()), null);//数据处理及显示
bufstr = new string(bufstr.Skip(i + 2).ToArray());
i = bufstr.IndexOf("\r\n");
}