发表于:2003-12-29 13:58:00
1楼
建议将 --从机向主机请求, 待主机应答-- 的动作略过, 因为, 少一次通信就少一次碰撞冲突的机会.
Step-1. 从机送出 主机(目的)站号/来源(从机)站号/通信编号/从机数据 给主机.
Step-2. 主机回应 从机(目的)站号/通信编号/OK 给从机.
则通信编号重覆, 则表示上次回覆的 OK 弄丢了. 再回应一次 Step-2 (此次则不将数据重覆记录).
Step-3. 若从机未收到 Step-2 的回应, 则表示冲突发生. 随机 delay 一段时间后, 重作 Step-1 的通信 (使用原通信编号/序号).
因为, 随时有冲突的发生, 所以通信中的 command/data 一定要加入 CRC/Checksum 之类的检查.