都是什么人啊?看看这协议.....16进制和字符都分不清

2019-12-08 14:37发布

本帖最后由 chinaboy25 于 2017-9-17 23:34 编辑

我写下位机,定了MODBUS协议,结果写上位机说CRC写不出了,(现在想起上次和一个JAVA的调试最后出的问题是JAVA 里没有无符号变量 只有有符号的,用C代码拷贝到JAVA里面运行CRC得出校验码两边对不上,后来把整形16位的用32位&0xFFFF替代,估计是这个原因整的,)我把代码协议什么都给对方了,对方说太复杂了不想写,要用自己的协议,不然不做了,老板妥协了;
然后传来了一个协议,
QQ截图20170917220816.png (68.62 KB, 下载次数: 0) 下载附件 2017-9-17 22:09 上传 QQ截图20170917220816.png (66.94 KB, 下载次数: 0) 下载附件 2017-9-17 22:22 上传
QQ截图20170917220840.png (59.66 KB, 下载次数: 0) 下载附件 2017-9-17 22:09 上传 QQ截图20170917220840.png (57.85 KB, 下载次数: 0) 下载附件 2017-9-17 22:22 上传
妈的,就这水平,这么牛B哄哄.................


16进制和字符都分不清,可能是我理解错了吧,用的全是字符,中间带空格,统一不加引号
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
82条回答
winterw
1楼-- · 2019-12-14 18:45
polarbear 发表于 2017-9-18 11:11
我之前写过一个国标(公安部标准),
一个字节内容解释:   
                                    。。 ...

后来咋样了?
sniper.q
2楼-- · 2019-12-14 23:25
flamma 发表于 2017-9-18 14:54
其实吧,对方如果水平差,用JSON来做协议最方便。随便上面怎么搞。

用JSON还不如传统仪器设备行业内的SCPI简单明了。
另外这个也要看应用吧,JSON数据量通常情况下比用16进制的协议要大很多。
ilikemcu
3楼-- · 2019-12-15 01:49
 精彩回答 2  元偷偷看……
lihui_mc
4楼-- · 2019-12-15 03:18
本帖最后由 lihui_mc 于 2017-9-19 18:03 编辑

类似经历啊,在上一家企业工作时,与另一个同事用Modbus通信,我发了标准Modbus协议给他,然后他修改了协议,按照新协议写了程序没和我说,等到联调前才说改了一个地方:

1.jpg (60.27 KB, 下载次数: 0)

下载附件

2017-9-19 17:08 上传


他在协议里面加了一个数据有效标志,意思是485读FIFO寄存器没数据时,标志要发0。 FIFO寄存器有数据时,标志要发1,读常规寄存器时,也要发1。这显然可以在FIFO结果寄存器某一位设立标志来达到同样的目的。
他就非要在标准协议里面添加一个字节来干这事,而且影响到的是所有寄存器了,还影响到将来可能与这条485总线接口的其它程序员,我又比较轴,觉得不合理的事情就不想干。
后来这事就闹得不愉快了,总工(一个写上位机C#的)让我按照他的想法做,谁叫他两关系好,自认倒霉,调试时每次用Modsim32调试读寄存器也总要错开一个寄存器才能匹配内容。

我想骂爹的是:标准就是标准,大家按照标准来做,才能接口,或者只能说,这人脑子不会转吧。
kind777
5楼-- · 2019-12-15 05:20
modbus对于专业做上位机的会的应该不多吧?
负西弱
6楼-- · 2019-12-15 08:52
好狗屎的协议

一周热门 更多>