大学生电子设计竞赛
直播中

FS1360472174

12年用户 11经验值
私信 关注
[资料]

adxl345三轴加速度测倾角

在基于STM32平台使用ADXL345测倾角时发现一些问题,之前用的是传感器购买时赠送的51程序,没有细究拿来就用的,在移植到stm32平台时发现测量时很不准。
这是数据处理代码:
//这是x轴
BUF[1],BUF[3]MBUF[5]分别是x,y,z的高位,判断正负后再进一步合值
void display_x()
{
int temp;
x=BUF[0];
if(BUF[1]&0x80)
{
BUF[1]=~BUF[1]+1;
LCD_ShowNum(92,170,0,1,16);
printf("此处x是负号");
}
else
LCD_ShowNum(92,170,1,1,16);
x=BUF[0]+(BUF[1]<<8);
K=(float) (x*3.9) ;
conversion(K);
LCD_ShowNum(108,170,qian, 1,16);
LCD_ShowNum(124,170,bai,1,16);
LCD_ShowNum(140,170,shi,1,16);
LCD_ShowNum(156,170,ge,1,16);
}

//这是角度显示函数,测得的是与z轴夹角
void display_Angle(void)
{

int angle;

angle[0]= (int)(atan2((double)K,(double)Q) * (180 / 3.14159265)); // 与z的夹角
conversion(angle[0]); //计算数据和显示
LCD_ShowNum(108,230,qian, 1,16);
LCD_ShowNum(124,230,bai,1,16);
LCD_ShowNum(140,230,shi,1,16);
LCD_ShowNum(156,230,ge,1,16);

}
现在的问题是数据能够传过来,但是显示的值有问题,角度测量相当的不准备,没什么规律可循。想问下有没做过这的,传感器发送过来的数据格式是怎样的?上述我的处理方法错在什么地方了

回帖(6)

my916723473

2013-8-4 21:18:49
{:1:}
举报

贺铁梅

2013-8-10 11:45:01
请问楼主解决没?同样的问题。。。
举报

李先生

2013-12-16 16:34:18
{:20:}{:20:}
举报

李先生

2013-12-16 16:34:30
{:23:}{:23:}{:23:}
举报

勤奋的小石子

2016-3-6 17:17:39
同求。。。。。
举报

acer317

2017-4-25 14:35:40
厉害了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分