stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结:
- 最近在学习模拟I2C,硬件有两套stm32F103C8T6和stm32F103RBT6,网上买的mpu6050套件。用stm32F103RBT6正常读到数据,可是换stm32F103C8T6读到的全是0,读who am I 按道理应该是104 (0x68)。但是读到的有时候 全为0 甚至209,或者255等等。
解决办法
- 1 首先看能否读到who am i 读不到或者读的不正确就,对mpu6050进行一下复位:
IICwriteBit(devAddr,MPU6050_RA_PWR_MGMT_1,7,1);
delay_ms(30);
IICwriteBit(devAddr,MPU6050_RA_PWR_MGMT_1,7,0);
2 狗日的甚至我用不同的线缆读的却都不一样。更不说不同的板子了。不能的板子在keil编译的时候最好选择相应的配置。
3 读不到who am i 也有可能是挂了一个以上的I2C设备,于是我就手工割掉了一个。
4 顺便说个问题 在I2C的时候 PB67 成功了PB56成功了,但是PB45 却一直有问题,最后多亏一位大神相助,STM32的PB