private void Comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {            int n = comm.BytesToRead;            int m = comm.BytesToWrite;            byte[] buf = new byte[n];            comm.Read(buf, 0, n);            builder.Clear();            this.Invoke((EventHandler)(delegate            {                builder.Append(Encoding.ASCII.GetString(buf));                         }));        }
流程:1发指令,2接收数据,3做出判断,4下一个指令。。。
 
 当我发这个指令(暂时叫T1)后,DataReceived那里,差不多3s后才收到数据,但间隔3s这段时间内又开始发下一条指令了(指令是连续发的),然后DataReceived又收到新的数据,这导致我在后面的各种判断出错了。
 怎么处理这样的情况?
 
 PS: 1 跟硬件工程师确认过,发完T1这个指令,数据的接收确实会延迟.
        2 用串口工具发T1这个指令,数据接收也会延迟.
因此数据要做“包”分离。
最简单靠谱就是定长,request response 单工模式
可以详细点么?