mpu6050读who_am_i寄存器一直读0x7c
正常情况应该读0x68的,可我的一直稳定度0x7c,先用一套正确的代码,读的就是对的,说明模块没问题(因为买到过背面印MPU6050的假模块,也烧过模块,所以需要检查一下),然后用示波器看了正确代码的sda波形,发现两者波形一样,只不过正确的波形的速率比我快,就是它的延迟函数比我短,这点延时应该不会有影响的,所以我应该就是读到正确数据了,却把他解析错了,应该就是read_byte函数的问题。最后的结果真是让我无语,检查了两天了,发现问题是。。。
uint8_t rx,t=0;
我在read_byte函数里定义了这两个变量,我学c的时候记得老师讲的是两者被一起初始化为0啊,结果只有t被初始化了,rx还是一个乱值。。。正确的应该这样写
uint8_t rx=0,t=0;
我堂堂一届老鸟,竟然栽在这了。。。