1. 数据/指令格式要求-->包头+(设备号)+流水号+类型+(包长)+包内容+校验+(包尾), 括弧内不具体要求, 包头尾间内容顺序不做要求, 流水号的处理比较重要
2. 各方接收缓冲池的处理, 包头不匹配时只能丢弃包头第一个字节, 继续在池内查找包头, 不能整个包甚至整个缓冲池丢弃
3. 一般过程(从机无主动过程) 主从均有超时处理 --> 一种是未收到应答, 回若干次; 再是收到应答后超时, 处理流程比较复杂, 也可以简单处理 (1/主)指令包 (2/从)指令应答包[可以短至一个字节, 但有些条件下可以考虑做长包-即 包头+从机流水号+类型+(校验)+(尾巴)] (3/主)无须应答 (4/从)指令执行结果包 (5/主)结果应答包 (6/从)无须应答
4. 校验一般两个字节就够了, 当然资源多可不管 |