本帖最后由 ym0sly 于 2022-11-26 19:09 编辑
提示Product ID read as 0 indicates device is either incomp
STM32 MPU6050 使用DMP遇到的问题
如题,在移植了原子的DMP库后,遇到了死在"Product ID read as 0 indicates device is either incompatible or an MPU3050."的问题,但是却可以读出6050的地址0x68(AD0接地)
出问题的地方在:
if (i2c_read(st.hw->addr, st.reg->prod_id, 1, data))
return -1;
rev = data[0] & 0x0F;
if (!rev) {
log_e("Product ID read as 0 indicates device is either "
"incompatible or an MPU3050.\n");
return -1;
1
2
3
4
5
6
7
prod_id这个寄存器地址是0x0c,寄存器手册上并没有写出这个寄存器,猜测应该是自检的一个寄存器吧。只能放弃从寄存器着手查找问题。
|