尊敬的 SupportTeam:
如果 I2C 传输因错误(如 nack,总线仲裁丢失等)而失败;应用程序如何知道确切的原因。 我正在回叫模式下使用 I2C
在 hwi 函数中,有一个对 I2CMasterIntClear()的调用 ,因此根据我的理解,它将清除所有主错误,MRI 和 MMIS 寄存器中的相应位也将被清除。 当应用程序获得控制时,所有 I2C 错误都将被清除。
谢谢你。
此致
阿希吉
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 SupportTeam:
如果 I2C 传输因错误(如 nack,总线仲裁丢失等)而失败;应用程序如何知道确切的原因。 我正在回叫模式下使用 I2C
在 hwi 函数中,有一个对 I2CMasterIntClear()的调用 ,因此根据我的理解,它将清除所有主错误,MRI 和 MMIS 寄存器中的相应位也将被清除。 当应用程序获得控制时,所有 I2C 错误都将被清除。
谢谢你。
此致
阿希吉
您好,Abhijit,
很抱歉耽误你的时间。 我们星期一在美国度假,这个话题太复杂了,不能在讨论期间加以探讨。 我不得不花一些时间尝试深入了解 TI-RTOS 文档和代码,以更好地了解它们如何实施这些文档和代码。
我没有看到 错误代码明确传递给应用程序,但似乎向用户提供了信息。
似乎生成了一个错误日志并显示错误状态:
Log_print2(Diags_USER1, "I2C:(%p) ISR I2C Bus fault (Status Reg: 0x%x)", hwAttrs->baseAddr, errStatus);
我不是很了解您如何解决并将其用于应用程序代码,但日志记录机制是 RTOS 内核的 XDC 运行时模块的一部分。 您可以在此处查看文档: file:///C:/ti/tirtos_tivac_2_16_00_08/产品/BIOS_6_45_01_29/docs/CDOC/XDC/运行时/Log.html
不幸的是,我的知识以 TM4C 硬件为结尾,而内核元素只是我所知有限的领域。
此致,
拉尔夫·雅各比