MPU6050可以读取ID值是0x68,但是读取到的原始数据为零(下面虚拟示波器图中温度值是36.529是单位转换公式中的值被打印出来了,实际值也是零)。经论坛搜寻,发现MPU6050出现问题的原因有几个:
一是在它初始化之前没有进行复位MPU6050和延时处理,
二是MPU6050已经坏掉了,
三是晶振可能没焊好或坏了,
四是IIC时序没有处理好(IIC通信协议中的延时对不同的单片机需要相应做调整)... ...
经过几天的搜寻后,最后抱着试试的态度换了MPU6050芯片,发现温度值正常了(将手放上面后温度值就开始有所回升--MPU6050芯片的问题),希望能帮助到遇到同样困难的你。
附图一(MPU6050不能读取原始数据):
附图二(更换MPU6050后,正常读取数据):
参考帖:https://blog.csdn.net/qq_26039737/article/details/79214887