都是什么人啊?看看这协议.....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条回答
czg1411
1楼-- · 2019-12-11 18:30
这是程序员的问题不是JAVA的问题,我们的支付模块上传交易记录到客户的服务器用CRC校验,服务器是用JAVA写的没点问题。CRC校验跟什么数据型类型、有没有符号没点关系。
ilikemcu
2楼-- · 2019-12-11 19:42
 精彩回答 2  元偷偷看……
buck
3楼-- · 2019-12-11 21:37
以前协议对接也遇到过,不知十六进制,提示了一个多月后,实在没办法帮忙写了转换程序,对方从此不比比了。
浮生莫若闲
4楼-- · 2019-12-12 02:10
这种问题很正常的,尤其上位机又是用JAVA写,如果用c#或者c++会好些。上位机的程序员在写普通应用的时候很少涉及到进制,移位运算,大小端的问题。
huangqi412
5楼-- · 2019-12-12 06:31
data/attach/1912/cnw8lwehtfe2jiiyiqjg684hb092pxpf.jpgdata/attach/1912/4klxgq12p28f7jk0c1sp8vxa1vi6zbem.jpg

。。。最后一个图片,明显是笔误了吧。  上面说55 AA CX   下面说AA BB    应该是55 AA BB 吧。      
看起来似乎是把每个4位16进制(0-F)用来表示十进制(0-9),逻辑上也没毛病啊,别扭难受另说。 以前有个电子称的串口貌似就是这格式,每个4位都当10进制,人肉读取一目了然,又省字节长度。  

AA BBB CCC不知道是不是笔误或脑抽, 如果写成 AA  BC DE FG  貌似逻辑也没毛病  BCDEFG表示6位数。
chinaboy25
6楼-- · 2019-12-12 12:15
huangqi412 发表于 2017-9-18 10:09
。。。最后一个图片,明显是笔误了吧。  上面说55 AA CX   下面说AA BB    应该是55 AA BB 吧。      
...

一个是查询,一个是回复,那个CX明显是查询的首拼音
上面如果用4位表示,那你3个写在一起,明显是没把他当16进制看,
硬要说得通,那就说里面的全是字符,没打引号而已,注意里面有空格,别漏了

一周热门 更多>