完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在基于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); } 现在的问题是数据能够传过来,但是显示的值有问题,角度测量相当的不准备,没什么规律可循。想问下有没做过这的,传感器发送过来的数据格式是怎样的?上述我的处理方法错在什么地方了 |
|
相关推荐
|
|
{:1:}
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请问一个迭代法图形二值化的程序代码把宽改成240之后整个屏幕不显示是什么原因?
2669 浏览 0 评论
2661 浏览 1 评论
1897 浏览 1 评论
2051 浏览 2 评论
2617 浏览 2 评论
725浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 22:40 , Processed in 0.535516 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号