搜索
bottom↓
回复: 3

求助:HMC5883L的X,Y,Z数据寄存器的读出值不准确

[复制链接]

出0入0汤圆

发表于 2011-1-20 16:55:54 | 显示全部楼层 |阅读模式
求助:HMC5883L的X,Y,Z数据寄存器的读出值不准确,而其他的寄存器的数据读出是准确的

void HMC5883_Init(void)
{
    I2C_WriteByte(0x01, 0x20);  
    I2C_WriteByte(0x02, 0x00);       
    I2C_WriteByte(0x00, 0x18);
}
配置寄存器B初始化为:0x20 //默认值
模式寄存器MR初始化为:0x00 //连续测量
配置寄存器A初始化为:0x18 //正常测量模式  75HZ

while(1)
{
    myDelay(10);
    I2C_ReadNByte(0x09, &temp, 1);
    if(temp&0x01)   break;
}        
uartSendStr(&temp, 1);
I2C_ReadNByte (0x03, Data_Buf, 6);         // 读xyz                
myDelay(500);
uartSendStr(Data_Buf, 6); //向串口发送数据

结果发现读出的   STAT  X     Z     Y    值如下:
                  11 00 00 00 04 FF FE
                  11 00 02 00 01 00 03
                  11 FF FE FF FE 00 00
                  11 00 04 00 00 00 01
                  11 FF FE 00 04 00 00  
                  11 00 FE 00 01 00 00  
                  11 00 00 00 00 FF FA
                  11 00 02 00 00 00 02  
                  11 FF FE 00 00 00 02  
                  11 00 03 00 00 00 02  
                  11 00 00 FF FF 00 03  
XYZ的值明显不对,可是其他寄存器A B MR STAT读出的值是正确的
对XY值求角度,发现角度都是45°的倍数,哪位大侠能告诉我,这是为什么啊?》

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-10-22 22:13:51 | 显示全部楼层
我饿的更惨。。。。

  
  write_24c02(0x00,0x70);
  write_24c02(0x01,0xe0);
  write_24c02(0x02,0x00);
   
while(1)
{

  readxyz();  

sendstr("  X: ");   
printf16(mx);

sendstr("  Y: ");   
printf16(my);

sendstr("  Z: ");   
printf16(mz);


sendchar(0x0d);
sendchar(0x0a);
//sendchar((mx>>8)&0xff);
//sendchar(mx&0xff);  

delay_ms(100);
}
}


X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: FFFF  Z: FFFF
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: FFFF
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: 0000  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: 0000  Z: FFFF
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: FFFF
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: 0000
  X: FFFF  Y: FFFF  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: FFFF  Y: 0000  Z: 0000
  X: 0000  Y: 0000  Z: FFFF
  X: 0000  Y: 0000  Z: 0000
  X: 0000  Y: FFFF  Z: 0000
  X: 0000  Y: 0000  Z: 0000



  write_24c02(0x00,0x70);
  write_24c02(0x01,0xe0);
  write_24c02(0x02,0x00);

  X: FFDA  Y: 000C  Z: 0000
  X: FFE5  Y: 0004  Z: 0000
  X: FFD6  Y: 0002  Z: 0000
  X: FFDB  Y: 0002  Z: FFFF
  X: FFC5  Y: 0007  Z: 0000
  X: FFD6  Y: 0006  Z: 0000
  X: FFC5  Y: FFFF  Z: 0000
  X: FFC6  Y: FFFE  Z: 0000
  X: FFD9  Y: 0000  Z: 0000
  X: FFC5  Y: FFFE  Z: 0000
  X: FFC6  Y: FFFE  Z: 0000
  X: FFC4  Y: FFFD  Z: 0000
  X: FFCB  Y: 0000  Z: 0000
  X: FFBE  Y: 0000  Z: FFFF
  X: FFBD  Y: FFFF  Z: FFFF
  X: FFD0  Y: 0003  Z: 0000
  X: FFCD  Y: 0013  Z: 0000
  X: FFC6  Y: 0002  Z: FFFF
  X: FFC8  Y: 0001  Z: FFFF
  X: FFD7  Y: FFFE  Z: 0000
  X: FFBE  Y: 0003  Z: 0000
  X: FFE0  Y: FFFF  Z: 0000
X: FFE1  Y: 0001  Z: 0000
  X: FFBE  Y: FFFF  Z: FFFF
  X: FFD3  Y: 0001  Z: 0000
  X: FFD5  Y: 0012  Z: 0000
  X: FFC6  Y: 0000  Z: 0000
  X: FFC6  Y: FFFE  Z: FFFF
  X: FFC4  Y: 000A  Z: 0001
  X: FFCC  Y: FFFF  Z: 0000
  X: FFC3  Y: FFFF  Z: FFFF
  X: FFC1  Y: 000F  Z: 0000
  X: FFC1  Y: 0010  Z: 0000
  X: FFF2  Y: 0014  Z: 0001
  X: FFC7  Y: 0008  Z: FFFF
  X: FFD1  Y: 0000  Z: 0000
  X: FFCF  Y: FFFF  Z: 0001
  X: FFCC  Y: 0004  Z: 0000
  X: FFC4  Y: FFFB  Z: 0000
  X: FFD9  Y: 0010  Z: 0000
  X: FFC3  Y: FFFD  Z: 0000
  X: FFC1  Y: 000B  Z: 0000
  X: FFD4  Y: FFFE  Z: FFFF
  X: FFDE  Y: FFFF  Z: 0000
  X: FFC8  Y: 000D  Z: 0000
  X: FFCC  Y: 000E  Z: 0000
  X: FFC8  Y: FFFC  Z: FFFF

怎么办啊。。。。

出0入0汤圆

发表于 2012-3-28 15:59:54 | 显示全部楼层
看来我是比较幸运的,刚入手这个模块,还比较正常
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 08:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表