求助高手,关于CRC16校验与16进制问题!!
感谢所有来看此贴的人,能够回复的更是感激不尽!!
我刚学VB,用在工程中上位机与仪表间的通讯
第一个问题:
上位机与仪表通讯时上位机发送:
8181520000005300
其中:8181为仪表地址,52为读指令,5300为CRC校验
请问:我如果将8181改为8282时,CRC校验应是多少,是如何计算的??
第二个问题:
dim d(0) as byte
d = mscomm1.input
for i = o to 9
a = a + hex(str$(d(i)))
next i
text2.text = a
这时,假如仪表显示242.9时,
上位机正确应显示为:7d0964000003e803ca10 高位在后,低位在前
而我的则显示:7d09064000003
可以看出,将097d转换为10进制后显示2429,只是与仪表一致,其它数据不对
更严重的在后面:
假如仪表显示270.6时,
正确显示应为:920a64000003e803df11
而我的则显示:3f06400000303f
连显示值都不一样了,我发现仪表显示值在270以下时,仪表传上的数据则是正确的,高于此值就全乱了。
请高手指点!!