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.

[参考译文] MSP430F5659:DMA 接收不传输 UART 消息的最后一个字节、而是将前一个 UART 消息的最后一个字节作为接收缓冲区中的第一个字节进行传输

Guru**** 2538955 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/895166/msp430f5659-dma-reception-does-not-transfer-last-byte-of-uart-message-and-instead-transfers-last-byte-of-previous-uart-message-as-first-byte-in-receive-buffer

器件型号:MSP430F5659

使用 DMA 以1Mbit/秒的速率接收串行 UART 数据 在突发模式下接收多个数据块。 接收缓冲区中的第一个字节是来自前一条消息的最后一个字节、而接收缓冲区中的最后一个字节是串行器件发送的数据的第二个到最后一个字节。  接收到的数据块的大小正确。 DMA5CTL = 0x0CEC。  其他所有内容似乎都正常工作。   例如 、来自 UART 的第 n 条消息是 :00 02 03 06 02 57 D9、N+1消息是 00 01 03 06 01 17 9C。 然后,保存在 DMA 接收缓冲区中的 N+1消息是:D9 00 01 03 06 01 17。 第一个字节 D9是前一条消息的最后一个字节、最后一个字节9C 丢失。


 

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

    第 N 个接收缓冲区是什么样的? 最后一个字节看起来很有趣、还是整个缓冲区被移位了?

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

    您好、Henry、

    您是否能够解决此问题? 您是否仍需要有关此方面的支持? 请告诉我们。

    此致

    Peter