串口取出的数据 为 FF AE 73 DD 最后应该转换为5038,请问该如何转换?
解决方案 »
- 2+2=?
- 这样一为什么不行?
- 在窗体模块或类模块的general处声明变量,private 与 dim 有何区别呀?使用中我没找到二者的区别呢?
- 1000分求网络中设置主页,UP有分,解决了立刻开帖结分。
- 我用了SELTEXT是RICHTEXTBOX中的字体发生了改变,可是随后输入的字符也随着改变,如何,不随着改变呢?
- 痛苦的问题!对unicode实在不解,vb在这上面问题太多,可给500分,有解我再开帖
- 0和1组成的字符串在数据库中的存放问题
- 有现成的printer对象打印复杂报表的源码吗
- ESC键可以在文本中显示吗,如果能怎么转换成文本显示呢?
- MSAgent动作查看程序
- 征集滚动条的控制意见
- vb.net 中的控件能不能在vb6.0里用
0x13 * 256 + 0x88 = 5000
0x13 * 256 + 0xae 分别怎么得来的?
和FF AE 73 DD 怎么对应啊?
FF 88 73 FB = 5000 = &h1388
'假设你从串口收到的数据存储到数组a中dim a ( 0 to 1000 ) as byte'接收并存储到a中
'..................
'.........dim l as longl = &h13 * 256 + a( 1 )debug.print l'或是每4个一循环
dim i as long
for i = 0 to 100 step 4
l = &h13 * 256 + a( i + 1 )
debug.print l
next i
FF 88 73 FB 对应 5000 = &h1388
假如
FF FF 73 XX 对应 5119 = &H13FF '左边XX无法预测
的话,那么3楼的意见是对数据分析得出的数据处理方法。Private Sub Command1_Click()
Text1 = &H13AE 'Text1中显示5038
Text2 = &H13** 'Text2中显示5000
Text3 = &H13FF 'Text3中显示5119
End Sub
Private Sub Command1_Click()
Text1 = &H13AE 'Text1中显示5038
Text2 = &H1388 'Text2中显示5000
Text3 = &H13FF 'Text3中显示5119
End Sub
1. 4个字节组成一个数据包。
2. 第1个字节固定为FF, 表示数据包头。
3. 第2、3两个字节为数据包内容, 它们和楼主所说的5038、5000之间存在着换算的关系。从楼主提供的数据来看,换算公式为: (第3字节值 - 96)*256 + 第2字节值。第3节字的值中,有可能某些bit是有特定约定的,需要查看厂家的资料。
4. 第4个字节为检验值,是第2、3两个字节的异或(xor)结果,即 AE xor 73 = DD, 88 xor 73 = FB (十六进制)。