从十六进制和LRC解码数据

时间:2018-12-11 13:12:26

标签: encryption hex crc rs485 lrc

嗨,我有以下Rs485数据,因为我知道该值,但无法解密我尝试用2表示赞扬的数据,但该数据已关闭但未获得正确的数据

3A 30 31 30 33 30 32 30 31 38 42 36 45 0D 0A

在上述rs 485中,数据值== 395,即3842 = 395和3645 = LRC和0D0A =结束字符

3A 30 31 30 33 30 32 30 31 38 46 36 41 0D 0A

在上述rs 485中,数据值为= 399,即3846 = 399和3641 = LRC和0D0A =结束字符

3A 30 31 30 33 30 32 30 31 39 30 36 39 0D 0A

在上述rs 485中,数据值== 400,即3930 = 400和3639 = LRC和0D0A =结束字符

3A 30 31 30 33 30 32 30 31 39 32 36 37 0D 0A

在rs 485以上的数据值是= 402,即3932 = 402和3637 = LRC和0D0A =结束字符

请指导我获取LRC值和数据.Lrc值是数据的求和并采用2的恭维谈判,但我不知道如何获取LRC值。请帮助我获取数据和LRC值计算

1 个答案:

答案 0 :(得分:0)

以第一行为例,将ASCII字节对转换为单个十六进制字节:

3A 30 31 30 33 30 32 30 31 38 42 xx xx 0D 0A   ASCII
      01    03    02    01    8B               hex values converted to binary bytes
      01 +  03 +  02 +  01  + 8B  = 92         sum up the hex values
                        00  - 92  = 6E         take the two's complement
                                 36 45         convert the 6E to ASCII
3A 30 31 30 33 30 32 30 31 38 42 36 45 0D 0A   include the 36 45 into the message

对于最后一行:

3A 30 31 30 33 30 32 30 31 39 32 xx xx 0D 0A
      01  + 03  + 02  + 01  + 92  = 99
                        00  - 99  = 67
3A 30 31 30 33 30 32 30 31 39 32 36 37 0D 0A