首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解码十六进制和LRC格式的数据

解码十六进制和LRC格式的数据
EN

Stack Overflow用户
提问于 2018-12-11 21:12:26
回答 1查看 191关注 0票数 1

您好,我有以下Rs485数据,因为我知道值,但无法解密数据,我尝试接受2的恭维,但它接近但没有得到正确的数据

代码语言:javascript
运行
复制
3A 30 31 30 33 30 32 30 31 38 42 36 45 0D 0A

在上面rs485数据值is=395中,即3842 =395和3645 =LRC和0D0A=End字符

代码语言:javascript
运行
复制
3A 30 31 30 33 30 32 30 31 38 46 36 41 0D 0A

在上面RS485数据值is=399中,即3846=399和3641 =LRC和0D0A=End字符

代码语言:javascript
运行
复制
3A 30 31 30 33 30 32 30 31 39 30 36 39 0D 0A

在上面rs485数据值is=400中,即3930 =400和3639 =LRC和0D0A=End字符

代码语言:javascript
运行
复制
3A 30 31 30 33 30 32 30 31 39 32 36 37 0D 0A

在上面rs485数据值is=402中,即3932 =402和3637 =LRC和0D0A=End字符

请指导我获得LRC值和LRC值是数据的总和和取2的求值公式,但我不知道如何使用LRC值value.Please帮助我获得数据和LRC值的计算

EN

回答 1

Stack Overflow用户

发布于 2018-12-12 00:00:40

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

代码语言:javascript
运行
复制
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

对于最后一行:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53724911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档