bbxyliyang08 发表于 2013-7-5 19:17:13

485协议求解?

68+地址域+68+命令字+数据长度+数据标识+数据+校验码+16,
假设电表写地址(命令字:15,数据标识:04 04)
发送:68 99 99 99 99 68 15 06 04 04 AA BB CC 00 88 16
68+电表地址(4)+68+命令字(1)+长度(1)+数据标识(2)+电表地址(3+1)+校验码(1)+16
返回:68 AA BB CC 00 68 15 06 04 04 AA BB CC 00 55 16
68+电表地址(4)+68+命令字(1)+长度(1)+数据标识(2)+电表地址(3+1)+校验码(1)
电脑向单片机发送68+电表地址(4)+68+命令字(1)+长度(1)+数据标识(2)+电表地址(3+1)+校验码(1)+16,单片机怎么知道这个包结束了?还有就是单片机对这个包进行解析,要验证68,和校验码,和结束16,那68+电表地址(4)+68+命令字(1)+长度(1)+数据标识(2)+电表地址(3+1)+校验码(1)+16+一个字节,单片机也会认为受到正确的数据了,怎么解决这个问题?

51EDA技术 发表于 2013-7-5 19:22:33

485没有规定具体的协议。都是按照实际需要自己确定。现在带CAN的MCU越来越多了。成本已经不是问题。建议上CAN,会方便很多。                                                                                                                                    

bbxyliyang08 发表于 2013-7-5 19:24:55

51EDA技术 发表于 2013-7-5 19:22 static/image/common/back.gif
485没有规定具体的协议。都是按照实际需要自己确定。现在带CAN的MCU越来越多了。成本已经不是问题。建议上C ...

但我们电表用到就是485,,协议是要自己定义,协议长度还不一样.

adongliu 发表于 2013-7-5 22:27:56

你自己都说明白了还问什么!
要验证的就是68+地址域+68+校验码+16,确认这四个数据没有问题就可以了,其他的命令和数据就按dl645解析了
页: [1]
查看完整版本: 485协议求解?