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.

[参考译文] TM4C1294KCPDT:我们能否同时使用发送器和接收器在 UART 中进行 UDMA 操作

Guru**** 2487425 points
Other Parts Discussed in Thread: TM4C1294KCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/736562/tm4c1294kcpdt-can-we-use-both-transmitter-and-receiver-for-udma-operation-in-uart

器件型号:TM4C1294KCPDT

我使用的是 TM4C1294KCPDT 微控制器。 我的疑问是、我能否同时将 UDMA 用于 UART 发送器和接收器。 ?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要尽早得到答案。 我将发送大约20字节的 UART 数据、并且还将接收20字节的突发数据。 我可以同时使用 uDMA 进行 TX 和 RX 吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、但它们是两个独立的 UDMA 通道。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    用于传输的 UDMA 会将数据从存储器复制到 UART_O_DR。 在接收时、UART_O_DR 中曾经存在的内容将复制到存储器中。 那么、我怀疑两者是否可以同时发生? 例如、UDMA 正在将存储器数据复制到 UART_O_DR、同时 UART 接收器正在接收某些数据、此时 UDMA 将 UART_O_DR 复制到存储器乳原。
    2.如果 uDMA 通道将传输的 uDMA 数据解释为接收的数据该怎么办?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    虽然从技术上讲不是同时进行的、但这两个事务可能在非常接近的时间内发生。  UART 上的 TX 和 RX 非常独立。 您可以同时发送和接收。 发送端和接收端都有 FIFO。 接收 FIFO 将保存接收到的数据、直到 UDMA 能够将其抓取。 即使在最快的波特率下、UDMA 也可以读取接收到的一个字节、并在接收到第二个字节之前加载另一个字节进行传输。

    [引用 user="Bharath Raj "]如果通过 uDMA 通道将传输的 uDMA 数据解释为接收到的数据,该怎么办?

    TX 和 RX 有单独的请求信号、这些信号会进入不同的 UDMA 通道。

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

    尊敬的 Bob:

     感谢详细的解释。 我将尝试使用我的代码并进行检查。 确认是否可以执行该操作。