serialPort.Read这个函数用不起???还是不起作用
帧嘛
定义一个 BYTE buffer[1+64+1]; 也就是 buffer[66];
再定义一个int bufferLength = 0;
OnCommunication(...)中
{
if (0 == bufferLength) // 帧头还未接收
{
if (0xAF != ch) // 不是帧头
return; // 返回
}
if (65 == bufferLength) // 帧尾还未接收
{
if (0xFA != ch) // 不是帧尾
{
bufferLength = 0; // 丢弃已经接收的数据,重置缓冲区有效数据长度为零
return; // 返回
}
}
// 要实时显示接收到的 ch ,在这里添加代码即可
buffer[bufferLength] = ch;
bufferLength++;
if (66 == bufferLength)
{
// 一帧已经接收完毕,数据在 buffer 中
bufferLength = 0; // 取出帧后,重置缓冲区有效数据长度为零
}
}