mpu6500读取ID正确,但数据为0,求解答

mpu6500读取的ID是正确的,但数据怎么都是0,请问这种情况该怎么办?
ps:求mpu6500的hal库代码,谢谢

1、初始化之前没有进行复位MPU和延时处理了吗?
解决方案:进行复位延时处理
2、MPU6500损坏了吗?
解决方案:换一个试试
3、可能是IIC时序未处理好
具体的一些问题,可以看看一位博主写的这篇文章:

STM32读取MPU6050问题总结 (可读ID无数据; PWR_MGMT_1休眠位无法清零; 寄存器读写正常无数据;初始化前加延时无法解决问题)_109保洁员的博客-CSDN博客_mpu6050读不到数据 因为网上关于STM32读取6050的例程并不少但是总会有古怪的问题存在,在尝试读取的过程中在网上逛论坛发现很多问题到最后没结果不了了之,不知那些前辈们是否已经自己查出了问题,我想尽自己微薄之力提供给大家我在这个过程中的解决思路。让后来者少走弯路更快的解决问题,有不对之处希望前辈多多指正,促进进步!制作平衡车或四旋翼,读取6050是第一步。除了经常存在的问题如初始化前加延时,mpu坏掉,无法读I https://blog.csdn.net/qq_26039737/article/details/79214887

如有帮助,还请采纳!谢谢!

目前来说,mpu6500和mpu6050在寄存器上基本没什么区别,只有version ID不同,6500的是0x70,6050是0x68
所以可以借鉴【MPU6050可以读取ID值,温度值和原始数据值为零的现象和分析思路】
1、是在它初始化之前没有进行复位MPU6050和延时处理
2、是MPU6050已经坏掉了
3、是晶振可能没焊好或坏了
4、是IIC时序没有处理好(IIC通信协议中的延时对不同的单片机需要相应做调整)
参考链接,期望对你有所帮助:https://www.cnblogs.com/darren-pty/p/10330663.html