我正在使用 XIAO BLE Sense Board,它使用 nRF52840 MCU 和通过 I2C 连接的 LSM6DS3TC-R。Seeed 的原始引导加载程序与他们的陀螺仪传感器库一起工作良好,我现在正在尝试使用 nRF5 SDK 开发自己的引导加载程序。
目前我的 I2C 连接有问题,因此传感器在大部分时间为设备供电时工作正常,但在某些情况下,在读取/写入传感器时无法预测地在 I2C 总线上不应答(读取 WHO_AM_I 作为第一次传输)。我认为在地址之后或数据的第一个字节(子地址)之后没有发送 ACK,但我无法确认这一点,因为在示波器的分线板上无法访问 MCU 和陀螺仪传感器的引脚。
陀螺仪传感器是否可能需要某种 I2C 复位或某种 SDA/SCL 推挽序列才能再次开始响应?或者我是否需要将其断电几毫秒才能重置所有内容?