用户层协议编写

[复制链接]
查看11 | 回复1 | 2008-6-9 12:45:51 | 显示全部楼层 |阅读模式
这样的串口通讯的协议用VC++6.0怎么写? 前导码:0x55H
地址码:即从机的设备号,占用一个字节,地址范围为0x01~0xFE。
00和FF是无效地址
功能号:03H表示读,06H表示写,05表示特殊读功能。
数据域:
数据域格式表示如下:
寄存器地址 寄存器长度 寄存器值
1字节
1个字节
1字节
加油机状态:将加油机状态返回
校验:从设备地址到数据域的最后一个数据的异或值。 例子如下:
(03)上位机读(从寄存器读数据):假设设备地址为01
例如:需要读取司机卡号(地址 01 长度 04)
PC机发送: 5501030204校验
正确响应: 55010302 04XXXXXXXX校验
错误响应:55 01830204校验
(06)上位机写(将数据写入寄存器):假设设备地址为01
例如:向下位机发送命令(寄存器地址19H,长度1,命令号位01)
PC机发送:
550106190101校验
1号机正确响应: 5501061901校验
1号机错误响应:55 01861901校验
(05)特殊读功能:假设设备地址为01
(查询)PC机发送 :
5501050000 校验
(响应)如果需验证卡号:5501050006XX XX XX XX XX XX 校验
(响应)如果需上传加油记录: 5501050018XX ……XX 校验
上述两种数据没有则上传: 550105002XXXX 校验
(通讯波特率为9600bps,无校验,1个停止位,半双工)

回复

使用道具 举报

千问 | 2008-6-9 12:45:51 | 显示全部楼层
这样的程序~~~~~~拿钱来我写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行