尊敬的所有人
我不熟悉 DMA、对 udma_demo 中的示例有基本的了解、它使用 UART1、通道编号定义为
#define UDMA_CHANNEL_UART1TX 23
虽然我打算将 UART5用于带有 DMA 的 Tx、无法找到其定义、但请帮助!
此致!
Ping
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.
尊敬的所有人
我不熟悉 DMA、对 udma_demo 中的示例有基本的了解、它使用 UART1、通道编号定义为
#define UDMA_CHANNEL_UART1TX 23
虽然我打算将 UART5用于带有 DMA 的 Tx、无法找到其定义、但请帮助!
此致!
Ping
感谢您的回复、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
您好、Charles
我有点困惑、是否需要 在启用通道之前调用 uDMAChannelAssign (UDMA_CH7_UART5TX)? 因为 UART5TX 不是 DMA 通道7的默认映射。 我仍然认为我应该启用 uDMAChannelEnable (7)中的通道7、而不是 uDMAChannelEnable (uDMA_CH7_UART5TX)。 因为 UDMA_CH7_UART5TX = 0x00020007。
您能给我提供更多有关使用 UART5TX 的完整代码剪贴吗?
此致!
Ping
尊敬的 Ping:
下面是使用 UART4TX 的示例。 您可以参考并适应其他 UART。