MPU6050在之前的一些项目是实现过的,大多数是因为焊接或者芯片质量问题,之前遇到的问题是芯片质量不好,在网上便宜的芯片质量参差不齐,有的是翻新的有的是仿制的,并且在运输或者拿放的过程中碰撞会导致芯片损坏,焊接时更换芯片即可实现。
图一:MPU6050原理图
在这次我使用了一个新的代码,正常来说引脚为IIC为虚拟引脚,我改引脚定义即可驱动并识别芯片,但是更改并且多次检查后并没有问题,一直识别不到。转变下思路,使用好的mpu6050模块去测试,发现依旧实现不了,但是模块原本是可以跑的,那么就是代码部分问题了。检查了几遍后发现确实有问题,有一个寄存器的配置引脚功能,如下图所示。原本只修改了IO操作函数里面的引脚,忽略了IO方向设置里面的引脚定义,通过查芯片手册后修改,芯片可以正常运行。