工具/软件:
您好、专家、
在 SDK 中、I2C 示例在 I2C_MODE_BLOCKING 模式下工作、在调用 I2C_Transfer() 后、执行被阻止、只有在传输完成后才会耗尽 I2C_Transfer()。 然后、应用代码可以读取接收到的数据并准备新的数据进行发送。
现在、我的客户需要在 I2C_MODE_CALLBACK 模式下使用 I2C、确保不会阻止执行。 当 I2C 传输完成时、通过回调通知应用代码。 客户尝试调用 I2C_Transfer() 以触发回调中的下一个 I2C 传输、但执行卡住。 然后、客户尝试在回调中设置一个标志并在主循环中轮询此标志。 如果设置了该标志、则调用 I2C_Transfer() 以开始下一次传输。 它以这种方式工作、但主循环中的轮询 效率太低。
您能帮助分享 I2C_MODE_CALLBACK transferMode 的 I2C 示例吗? 当上一个 I2C 传输完成时、触发下一个 I2C 传输的建议方法是什么?
AM2612 I2C 在目标模式下工作。
谢谢。