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.

[参考译文] EK-TM4C1294XL:是否请说明 UART5 DMA 通道编号?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1344737/ek-tm4c1294xl-uart5-dma-channel-number-please

器件型号:EK-TM4C1294XL

尊敬的所有人

我不熟悉 DMA、对 udma_demo 中的示例有基本的了解、它使用 UART1、通道编号定义为

#define UDMA_CHANNEL_UART1TX  23

虽然我打算将 UART5用于带有 DMA 的 Tx、无法找到其定义、但请帮助!

此致!

Ping

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

    您好!

     您需要参阅数据表中的 uDMA 一章。 UART5TX 映射到通道7。  

    另请参见 udma.h 头文件以了解所有定义。

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

    感谢您的回复、Charles

    我知道 UART5 TX 映射到了通道7,但我需要将通道 ID 传递给 函数 uDMAChannelEnable(),该函数需要一个类似此处定义的通道 ID 编号-  

    //*****
    //
    //将要传递给需要通道号的 API 函数
    // ID。
    //
    //*****
    #define uDMA_channel_USBEP1RX 0
    #define uDMA_channel_USBEP1TX 1
    #define udma_channel_USBEP2RX 2
    #define udma_channel_USBEP2TX 3
    #define udma_channel_USBEP3RX 4
    #define udma_channel_USBEP3TX 5
    #define udma_channel_ETH0RX 6
    #define udma_channel_ETH0TX 7
    #define UDMA_CHANNEL_UART0RX 8
    #define UDMA_CHANNEL_UART0TX 9
    #define udma_channel_SSI0RX 10
    #define udma_channel_SSI0TX 11
    #define udma_channel_ADC0 14
    #define udma_channel_ADC1 15
    #define udma_channel_ADC2 16
    #define udma_channel_ADC3 17
    #define udma_channel_TMR0A 18
    #define udma_channel_TMR0B 19
    #define udma_channel_TMR1A 20
    #define UDMA_CHANNEL_TMR1B 21
    #define UDMA_CHANNEL_UART1RX 22
    #define UDMA_CHANNEL_UART1TX 23
    #define udma_channel_SSI1RX 24
    #define udma_channel_SSI1TX 25
    #define udma_channel_I2S0RX 28
    #define udma_channel_I2S0TX 29
    #define udma_channel_sw 30

    也就是说、当我使用 UART1TX 时、我传递23、而当我需要使用 UART7TX 时、它并没有出现。  根据数据表、有89个可能的外设共享相同的通道号、请如何配置它们?

    此致!

    Ping

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

    您需要调用 uDMAChannelEnable (UDMA_CH7_UART5TX)。

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

    您好、Charles

    我有点困惑、是否需要 在启用通道之前调用 uDMAChannelAssign (UDMA_CH7_UART5TX)? 因为 UART5TX 不是 DMA 通道7的默认映射。  我仍然认为我应该启用   uDMAChannelEnable (7)中的通道7、而不是  uDMAChannelEnable (uDMA_CH7_UART5TX)。 因为 UDMA_CH7_UART5TX = 0x00020007。  

    您能给我提供更多有关使用 UART5TX 的完整代码剪贴吗?

    此致!

    Ping

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

    尊敬的 Ping:

    下面是使用 UART4TX 的示例。 您可以参考并适应其他 UART。  

    e2e.ti.com/.../udma_5F00_demo_5F00_UART4_5F00_TX.c

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

    感谢您的发送、我尝试在 需要通道 ID 的情况下发送19和 UDMA_CH19_UART4TX。 只是在定义 UART1TX 和其他值时、不同的格式很令人困惑、而通道编号仅在0-31之间有效。

    感谢您的帮助!