主题中讨论的其他器件:LP-EM-CC2340R5、CC2340R5
工具与软件:
上电复位时、我可以看到 I2C 时钟和数据都按预期高。 我 可以看到 I2C 传输已启动、但 API 除外 I2C_TRANSFER (I2cHandle、&i2cTransaction); 但 API 未返回成功。 此 API 可能有什么问题。
另请注意、我正在为 I2C 事务使用驱动程序中提供的非阻塞功能。
I2C 线路连接到 评估套件 LP-EM-CC2340R5中的 DIO_0和 DIO_25
请参阅随附的 I2C 总线上逻辑分析仪捕获的图像。 此外、我看到 I2C 时钟线保持低电平并且未被释放。
在这种情况下,ISR 中出现了故障,您能告诉我们问题可能是什么吗?
堆栈 版本: simplelink_lowpower_f3_sdk_7_40_00_64
控制器: CC2340R52 BLE MCU
使用的硬件:LP-EM-CC2340R5
IDE: Code Composer Studio : 版本:12.6.0.00008
主机操作系统: Windows 11.
代码片段:
i2cTransaction .targetAddress = i2cSlaveAddress;
i2cTransaction .writeBuf = pTxBuffer;
i2cTransaction .writeCount = size;
i2cTransaction .readBuf = NULL;
i2cTransaction .ReadCount = 0;
i2cTransaction。arg = syncObject;
状态= I2C_TRANSFER (I2cHandle、&i2cTransaction);
如果 (status == false)
{
retVal = I2C_API_CALL_SUCCESS;
}
设计
{
retVal = I2C_API_CALL_FAILED; //此处出现代码命中
}
请告知我需要任何其他信息。
我们将使用 CC2340R5 MCU I2C 驱动程序 API 附加 I2C 驱动器以供参考、非常感谢您在这方面提出建议并了解该驱动器的相关知识