422通信协议

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

陀螺422通信协议

个人补充:

如果测试数据为:6个float(分别对应ωx,ωy,ωz,ax,ay,az)的话,需要将每一个float转换成通信协议上规定的格式每个量用三个字节来表示,需要进行如下转换:假设a为ωx,要转换成3个字节d[3]

1)a / 码制,将得到一个整型值b。

2)如果b小于0,则b+=16777216;

3)将十进制b表示成十六进制c(假设为0xaabbccdd)。此时aa肯定为00

4)此时d[0]=bb,d[1]=cc,d[2]=dd。将这三个字节做相应处理就可以了。

struct str_sample

{

char cHead1;

char cHead2;

char cωx[3];

char cωy[3];

char cωz[3];

char cax[3];

char c ay[3];

char c az[3];

char cChecksum;

}

磁罗盘422通信协议

数据格式:

FF,FF,XXXX,XXXX,XXXX

FF为前导帧头,接着是方位角,俯仰角,横滚角

数据以二进制发送,高8位在前

对于俯仰角与横滚角,如果高8位>=80H,表明该角度为负值;例如

8005H,表明角度为-5mil;

个人补充:

测试文件格式:3个float(单位:度)

取出一个float,转换成密位,取整。0xaabbccdd,将cHead[0] = dd,cHead[1]=cc; cHead[0]的第一位表示符号位。

如果为负数,则加65536

struct str_sample

{

char cFrameHead1;

char cFrameHead2;

char cHead[2];

char cPitch [2];

char cRoll [2];

}

航向角+-180

横滚角+-180

俯仰角+-90

相关文档
最新文档