串口取出的数据 为 FF AE 73 DD 最后应该转换为5038,请问该如何转换?

解决方案 »

  1.   

    还有一组数据FF 88 73 FB 应转换为5000
      

  2.   

    0x13 * 256 + 0xae = 5038
    0x13 * 256 + 0x88 = 5000
      

  3.   

    0x13   *   256   +   0xae 分别都怎么得来的啊?  
      

  4.   

    jennyvenus :您好!
    0x13       *       256       +       0xae   分别怎么得来的?
    和FF   AE   73   DD   怎么对应啊?
      

  5.   

    FF   AE   73   DD   = 5038 = &h13AE
    FF   88   73   FB   = 5000 = &h1388
      

  6.   

    其实16进制和二进制和字符是一回事,如果你取出来FF,你可以这样计算 F*16^1+F*16^0,但是换算方法要自己写的。
      

  7.   

    我一直做串口通信232和485的东西的,你需要知道什么,直接发到我邮箱,[email protected] ,我上班不能用MSN的。
      

  8.   


    '假设你从串口收到的数据存储到数组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
      

  9.   

    不明白jennyvenus写的13是从哪儿得来的
      

  10.   

    FF AE 73 DD 对应 5038 = &h13AE 
    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
      

  11.   

    给出代码修改:
    Private Sub Command1_Click()
        Text1 = &H13AE 'Text1中显示5038
        Text2 = &H1388 'Text2中显示5000
        Text3 = &H13FF 'Text3中显示5119
    End Sub
      

  12.   

    这4个字节的数据, 我的分析是:
    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 (十六进制)。