IC2没有响应XC8

时间:2017-04-15 15:14:31

标签: i2c mplab xc8 mpu6050

嘿伙计们,我一直在努力工作,直到72小时,我找不到错误,我正在研究PIC16F1719我试图设置3个外设,一个ADC,一个I2C协议和一个USART用于通信然而,对于BT而言,ADC很容易,但是我对I2C有一段艰难的时间,尽管事实上我已经多次检查代码,出于某种原因,当我得到ACK时,一切似乎都没问题,但是当我去找一个关于传感器的演讲(MPU6050)什么都没有显示,但我上次在缓冲区上推出的价值,任何想法为什么会这样?这就像缓冲区没有清除自己,我想我无法通过软件清除它,谢谢。

1 个答案:

答案 0 :(得分:0)

如果主设备没有正确通信,i2c slave能够锁定总线(几种可能的情况......) 这是电子可能的,因为2根导线是有线的,这意味着如果任何从属设备将时钟(例如)拉下来,并保持这种方式,则总线被锁定。

  • 始终先检查两条线路上的值(使用示波器或dvm),如果为“0”则表示总线已锁定。
  • 接下来测试你的i2c控制器的状态寄存器,它可能会显示仲裁错误或类似的东西。
  • 如果有任何错误,请仔细阅读i2c slave部件数据表,检查它所期望的协议读/写类型并修复代码。