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.

[参考译文] AM263X-MCAL SDK:AM2634–如何确定 DMA RX 缓冲区中接收到的有效字节数?

Guru**** 2772845 points

Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1618347/am263x-mcal-sdk-am2634-how-to-determine-number-of-valid-received-bytes-in-dma-rx-buffer

器件型号:AM263X-MCAL SDK
主题中讨论的其他器件: AM2634

尊敬的团队:

我正在努力实现 使用 MCU+ SDK 的 AM2634 (MCU_PLUS_SDK_am263x_09_02_00_55) 。  

如何查找具有数据的 DMA RX 字节的数量?

我如何确定 DMA 在 RX 缓冲区中实际接收到了多少个字节?

例如:

  • 我将 DMA RX 传输配置为 256 个字节。

  • 但发送方仅传输 40 个字节。

  • 如何知道仅接收了 40 个字节?

是否有:

  • 任何用于检查剩余传输计数的 DMA 寄存器?

  • 是否有驱动程序 API 来获取实际接收的长度?

  • 是否有任何提供接收字节计数的回调参数?

目前我只接收完整长度的传输完成中断。

请建议在 DMA 模式下检测实际 RX 数据长度的正确方法。

谢谢、
Swati

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

    您好:Swati、
    您可以读取以下寄存器来获取所需的值:

    如果您的传输大小设置为 256、则接收值为 (256-ACNT)