写自定义帧

比如如下:

假设要传

Yaw角度:30度

30的二进制表示是:00000000 00011110(16位表示)

  • 高八位(数据2):00000000(即0x00)
  • 低八位(数据1):00011110(即0x06)

Pitch角度:-60度

正数的补码与其原码相同。

负数的补码是其绝对值的原码按位取反(每一位上的1变为0,0变为1),然后整体加1。

对于-60的补码表示,步骤如下:

  1. 首先,将60转换为二进制:60的二进制是00111100。
  2. 然后,将其扩展为16位:00000000 00111100。
  3. 按位取反:将所有的0变为1,1变为0,得到11111111 11000011。
  4. 最后,整体加1:11111111 11000011 + 1 = 11111111 11000100。

 在这个表示中,最高位(即第16位)是1,这就是符号位,表示这是一个负数。

所以,对于-60度的Pitch角度:

  • 高八位(数据4)是11111111(即0xFF)。
  • 低八位(数据3)是11000100(即0xC4)。

所以要传的完整数据包是:

头帧 | 数据1(Yaw低八位) | 数据2(Yaw高八位) | 数据3(Pitch低八位) | 数据4(Pitch高八位) | 数据5(命令) | 尾帧
0xaa | 0x06            | 0x00            | 0x3C               | 0x00               | 0x00    | 0xbb

补充一下:

十六进制就是0~9 .A~F     A是10,F是15

1111是15也就是F,11111111的十六进制是0xFF

1100是12也就是C,0100是4也就是还是4,所以11000100的十六进制是0xC4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值