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.

[参考译文] TMS570LC4357:在使用 DMA 进行数据接收时、无法接收最后一个字节

Guru**** 2394075 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413394/tms570lc4357-cannot-receive-last-byte-during-data-reception-with-dma

器件型号:TMS570LC4357

工具与软件:

我在 DMA 工作模式下使用 SPI 协议在 TMS570LC4357微控制器和从器件之间提供数据通信。 我的数据通信在工作一段时间后停止、这是因为没有发生 DMA 块传输完成中断。 当我想从器件读取20个字节时、DMA 会传输19个字节的数据、但不会传输最后一个字节。 即使 SPI RX 缓冲区中有最后一个数据并且发出了 RXNE 标志、DMA 也不会携带最后一个字节。 当我将 SPI 速度从15MHz 降低到10MHz 时、我的问题就解决了。 我不知道出现上述问题的原因。 即使 SPI RX 缓冲区中有数据、DMA 并不总是携带最后一个字节、因此不会发生 DMA 传输完成中断。

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

    大家好、 

    是否可以共享项目以验证 DMA 配置?

    ——
    谢谢、此致、
    Jagadish。

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

    DMA 配置正确。 我在程序正常运行一段时间后遇到此错误。

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

    大家好、 

    我以前在 Hercules 控制器中没有看到这个问题、是否可以与这个问题共享任何最简单的工程? 以便我可以在末端重现问题并可以看到行为。

    您甚至还可以通过私人聊天发送项目。

    ——
    谢谢、此致、
    Jagadish。