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.

[参考译文] LP-MSPM0G3507:以全速 DMA 传输 I2C 数据时出现的问题

Guru**** 2027820 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1267968/lp-mspm0g3507-problem-with-dma-transfer-of-i2c-data-at-full-speed

器件型号:LP-MSPM0G3507

您好、TI!

我使用的是 Launchpad。

我的问题涉及使用 DMA 传输通过 I2C 接收的数据。 当以全速运行时、DMA 传输使得头2个字节总是作为0xFF 传输、而不再进行进一步的传输。

但是、如果我进行分步调试、一旦我运行"DL_I2C_startControllerTransfer ()"、然后按到下一行、我会发现 DMA 已成功传输了正确的数据、并且传输的字节数也是正确的。

为什么会发生这种情况、我如何解决它? 非常感谢您提供任何帮助。

正确:

错误:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我建议使用逻辑分析仪在全速和调试模式下捕获硬件 I2C 波形。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Helic、

    很抱歉,我的回复太迟了。 我最近一直忙于其他事情、因此当我有更多时间时、我可能不得不研究 DMA 问题。 感谢您的支持。