关于HMC5883电子罗盘的数据输出问题

2019-07-15 23:32发布

本帖最后由 zhoutuo08 于 2013-7-23 16:18 编辑

我在51上运行程序,数据没有问题可是,改完程序在atmega128上跑,罗盘输出都是错误的数据,没有应用价值,但是加速度及陀螺仪的数据输出都没什么问题,x,y,z最高能达到5530,好像超过了他的范围,还有一个就是

  1. void conversion(unsigned int temp_data)
  2. {
  3.         wan=temp_data/10000+0x30 ;
  4.         temp_data=temp_data%10000;   //取余运算
  5.         qian=temp_data/1000+0x30 ;
  6.         temp_data=temp_data%1000;    //取余运算
  7.         bai=temp_data/100+0x30   ;
  8.         temp_data=temp_data%100;     //取余运算
  9.         shi=temp_data/10+0x30    ;
  10.         temp_data=temp_data%10;      //取余运算
  11.         ge=temp_data+0x30;
  12. }
复制代码为什么取值时要加0X30啊
对了,使用自测时,输出的3个轴都为4095.。。。。。。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
wufa1986
1楼-- · 2019-07-16 01:10
只有小部分程序分析不了什么问题,+0x30应该是转换为字符串数据的,因为字符串的‘0’就是0x30,你确定没问题的话注意采集的原始值有没问题
zhoutuo08
2楼-- · 2019-07-16 02:34
 精彩回答 2  元偷偷看……
zhoutuo08
3楼-- · 2019-07-16 02:48
今天,把程序下进去居然行了,我没搞懂,但是角度有点问题正北为0没问题,可是180度与南差了有45度,本来想用网上说的简单校准,可是我发现我的三轴的最大值都为5535,最小值为零。不知道如何是好,还有,最高位到底是什么用的,它只会在0或5之间跳变。。。。然后就是这块芯片的原理到底是什么怎么测量的,网上怎么都找不出来,三个数据的实际意义也不懂。。。。。。但还好角度出来了,嘿嘿
再不斩
4楼-- · 2019-07-16 07:18
大神,能否上传5883的完整子函数?,我之前没用过,现在要急用,谢谢
1831486657
5楼-- · 2019-07-16 12:32
求程序呀!帮帮忙
rachelxx
6楼-- · 2019-07-16 17:48
楼主能详细说下读的时序,吗

一周热门 更多>