你好,我用TM4C123GH6PM连接MPU9250. 使用的compdcm_mpu9150库,论坛上都说直接烧写就能读出数据,虽然读到的是全0. 为什么我调试时MPU9150Init之后的MPU9150AppI2CWait都无法通过。
对I2C的设置如下:
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
ROM_GPIOPinConfigure(GPIO_PD0_I2C3SCL);
ROM_GPIOPinConfigure(GPIO_PD1_I2C3SDA);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C3);
GPIOPinTypeI2CSCL(GPIO_PORTD_BASE, GPIO_PIN_0);
GPIOPinTypeI2C(GPIO_PORTD_BASE, GPIO_PIN_1);
ROM_IntMasterEnable();
I2CMInit(&g_sI2CInst, I2C3_BASE, INT_I2C3, 0xff, 0xff,
ROM_SysCtlClockGet());
为了测试I2C的配置,我在MPU9150Init之前做了一个测试函数 I2CMWrite(&g_sI2CInst, 0x22, pui8Data, 2, MPU9150AppCallback, 0);
这个函数的Callback函数也没有执行。检测了startup_ccs.c里面中断向量配置,I2C3 对应的就是MPU9150AppCallback函数。
另外MPU9250使用IO口模拟I2C是没有问题的。
请问这个工程问题在哪里?
非常感谢!