通常对于串口通信协议规定,有命令帧与应答帧。
1、协议规定,如头+命令字+数据块长度+数据块+校验。
对于协议规定的具体帧,可以为每一个帧,建立一个结构体数据,用于存储我将要接收的数据,这样我们可以事先建立多个结构体,通常大概会建立10到50不等,这与通信的数据协议有关。
2、现在我们要考虑的是如何将一个完整的数据帧去掉头、命令字、校验,存入结构体中,以便我们可以直接使用结构体中数据成员,也方便使用。通常C++的做法是使用运算符重载进行复制,将一个我们接收到buffer数据帧,复制到结构体中。
原文:http://www.cnblogs.com/weiguanhu/p/5042110.html