怎么用HMC5883L?始终搞不出来

2019-07-20 14:47发布

用F4的板子,外面连了一个gy86的模块
照抄原来的mpu6050的程序,mpu6050已经可以用了
稍微修改了一下
但HMC5883L始终搞不出来
加了一点:
该mpu的
MPU_Write_Byte(MPU_USER_CTRL_REG,0X00); 
MPU_Write_Byte(0x37,0x02);
HMC5883L初始化
u8 HMC_Init(void)
{
  HMC_Write_Byte(0x00,0x18); 
  HMC_Write_Byte(0x02,0x00);
  return 0;
}
读数据
u8 HMC_Get_MAG(short *am,short *bm,short *cm)
{
    u8 buf[6],res;  
res=MPU_Read_Len(HMC5883L_Addr,0X07,6,buf);
if(res==0)
{
*am=((u16)buf[0]<<8)|buf[1];  
*bm=((u16)buf[2]<<8)|buf[3];  
*cm=((u16)buf[4]<<8)|buf[5];
}
然后发到上位机上的一直是02c8,三个都是02c8
新手,求各位大大指点一下。。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。