新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2016-4-17
- 在线时间
- 17 小时
|
30金钱
如图:角度是16进制的无符号数,并且缓存到2个不同下标的数组中。比如roll和pitch数据输出后怎么转换成角度?
void usart1_report_imu(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz,short roll,short pitch,short yaw)
{
u8 tbuf[28];
u8 i;
for(i=0;i<28;i++)tbuf[i]=0;//Çå0
tbuf[0]=(aacx>>8)&0XFF;
tbuf[1]=aacx&0XFF;
tbuf[2]=(aacy>>8)&0XFF;
tbuf[3]=aacy&0XFF;
tbuf[4]=(aacz>>8)&0XFF;
tbuf[5]=aacz&0XFF;
tbuf[6]=(gyrox>>8)&0XFF;
tbuf[7]=gyrox&0XFF;
tbuf[8]=(gyroy>>8)&0XFF;
tbuf[9]=gyroy&0XFF;
tbuf[10]=(gyroz>>8)&0XFF;
tbuf[11]=gyroz&0XFF;
tbuf[18]=(roll>>8)&0XFF;
tbuf[19]=roll&0XFF;
tbuf[20]=(pitch>>8)&0XFF;
tbuf[21]=pitch&0XFF;
tbuf[22]=(yaw>>8)&0XFF;
tbuf[23]=yaw&0XFF;
usart1_niming_report(0XAF,tbuf,28);
}
比如:我用串口调试助手用16进制读取的翻滚角roll为 FA OE,俯仰角为FF DD请问怎么转换成角度!!谢谢!!万分感谢!!
|
最佳答案
查看完整内容[请看2#楼]
通过串口,必须以字节发送,所以不论你是10进制,还是16进制,还是2进制,最终,都是一个一个字节发送的。。。。对单片机来说,内部存储都是二进制的,你搞懂这个概念了,就随便你怎么做,都很简单了。
|