/***************************************************************************************************
简单通通讯协议
在通讯中的位置:协议层
传输层不定义 :可以是UART Ird can TCP/IP等待 其速率不规定。
可靠性 :不保证可靠性,可以由上层应答保证。需要应答的,超时由上层自定义。
数据格式:
struct TRAN_g
{
char TranHead; //固定使用0XAA
char TranVer; //0XA0版本0 0XA1版本1
char TranLen; //消息内容长度 以下4项的byte数 最大255 最小=0即TranData没有数据
char TranTo; //目标地址
char TranFrom; //源地址 本机地址
char TranData[xx]; //数据 最大长度=Len-3
char TranXor; //异或校验
};
传输声明:
1 这是整包数据,必须连续传送。长数据在TranData内分包
2 TranTo = 0XFF 表示广播地址。
TranTo = 0X00 表示用于测试的数据,从机和主机概不接收。
TranTo = self 发送给自己,也要接受,用于自测。
应答需在发送完毕后的50MS内收到。 即超时为150MS;
3 数据接收规则:
数据必须以0XAA开头,异或校验不正确的丢弃数据。
上一包数据未接收完毕,收到下包数据时,应该保证下包数据能完整接收。
4 收到一整包数据时,才上报。仅上报源地址和数据部分。 上层看到的数据已经是无坏数据。
***************************************************************************************************/