422通信协议
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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