网络调试时,将以二进制表示的通信协议转化为十六进制

本文讲述了在调试过程中如何将通信协议中的十六进制表示转换成二进制,并解析特定字节如r2、r4的位操作规则,以及计算如r28的组合值(十六进制相加)。

在做调试时,经常会遇到通信协议,但是协议中不会具体告诉你表示的十六进制是多少,而是告诉你在某个字节上某项内容取0或者1时对应的状态,这就需要我们将其进行转化

例如,某通信协议部分内容为:

f176687e71f84697858aa1431c8e45e0.png

上述图片中,从 r0 到 r29 ,总共有30个字节,要知道每个字节有8位(bit)。

(1)对于帧头的 r0 和 r1 ,表示的内容分别是0x5a、0xa5,0x开头表示的就是十六进制,因此不用转化。

(2)对于字节 r2 ,位号 BIT6~BIT0表示0-100之间的二进制数,位号 BIT7为0表示“前”,为1表示''后“。对于每个字节,都有8个BIT,低四位二进制转化为一位十六进制,高四位二进制转化为一位十六进制。

889c142c37c54c06af5f8a35aecca889.jpeg

(3)对于字节 r4 , BIT0和BIT1分别用A和B表示,当AB为00,表示”不动“,当AB为10,表示”下“,当AB为11时,表示”上“。仅考虑BIT0和BIT1,其他位都假设为0。

52bfdbb6b49040c2bf9e711b3becdbe0.jpeg

(4)对于字节 r28 ,(r2+r3+...+r27)&0xff,其实主要是r2+r3+...+r27,需要注意的是这些是十六进制相加,可以网页搜索 十六进制相加计算器。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太想进步了~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值