微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 使用飞思卡尔XS128,读取MPU9250 9轴传感器,加速度计和陀螺仪读取正常,但是磁力计一直是0.求大神们帮忙

使用飞思卡尔XS128,读取MPU9250 9轴传感器,加速度计和陀螺仪读取正常,但是磁力计一直是0.求大神们帮忙

时间:10-02 整理:3721RD 点击:
加速度计和陀螺仪可以读了,但是磁力计就是不行,麻烦大神帮忙看看
//******读取MPU9250数据****************************************
void READ_MPU9250_ACCEL(void)
{
BUF[0]=Single_Read(ACCEL_ADDRESS,ACCEL_XOUT_L);
BUF[1]=Single_Read(ACCEL_ADDRESS,ACCEL_XOUT_H);
A_X=        (BUF[1]<<8)|BUF[0];
A_X/=164; //读取计算X轴数据
// 。
BUF[12]=Single_Read(ACCEL_ADDRESS,TEMP_OUT_L);
BUF[13]=Single_Read(ACCEL_ADDRESS,TEMP_OUT_H);
T_T=        (BUF[13]<<8)|BUF[12];
T_T = ((T_T + 13200)) / 504;// 读取计算出温度
}
void READ_MPU9250_MAG(void)
{
Single_Write(GYRO_ADDRESS,0x37,0x02);//turn on Bypass Mode
delay5ms();
Single_Write(MAG_ADDRESS,0x0A,0x01);
delay5ms();
BUF[14]=Single_Read(MAG_ADDRESS,MAG_XOUT_L);
BUF[15]=Single_Read(MAG_ADDRESS,MAG_XOUT_H);
M_X=(BUF[15]<<8)|BUF[14];
BUF[16]=Single_Read(MAG_ADDRESS,MAG_YOUT_L);
BUF[17]=Single_Read(MAG_ADDRESS,MAG_YOUT_H);
M_Y=        (BUF[17]<<8)|BUF[16];
//读取计算Y轴数据
//......
Single_Write(MAG_ADDRESS,0x0A,0x01);
}

我采用的是模拟IIC方式通信。参考网上的STM32代码修改的程序

我参考的是STM32的测试程序修改的。使用模拟IIC通信

小编解决了吗?也遇到同样问题了

我也做的这个  用的是mpu9250  数据读取正常 用的是I方C协议  你们是做什么的呀  有意联系我 一起讨论学习 1173827097 扣扣

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top