大家好,我一直在连续72个小时工作,我找不到错误,我正在使用PIC16F1719,我正在尝试设置3个外围设置ADCI2C协议和用于BT的USART,但是ADC很容易,但是尽管我几次检查了代码,但我在I2C上度过了困难好的,但是当我去传感器(MPU6050(进行演讲时,什么也没有出现,只有我上次在缓冲区上投入的价值,为什么会发生这种情况?就像缓冲区无法清除,我认为我无法通过软件清除它,谢谢。
i2c从站有能力锁定总线,如果主人无法与之正确通信(几种可能的情况...(这是可以在选举中的可能性,因为两根电线是有线的,这意味着如果任何从从(例如(向下拉时,并保持这种方式,公共汽车被锁定了。
- 始终首先检查两条电线上的值(使用范围或DVM(,如果" 0",则表示锁定。
- 接下来测试您的I2C控制器的状态寄存器,它可能显示仲裁错误或类似的内容。
- 如果有任何错误,请仔细阅读I2C从属部分数据表,以检查哪些类型的协议读/写期望并修复您的代码。