Other Parts Discussed in Thread: EK-TM4C1294XL
Thread 中讨论的其他器件:EK-TM4C1294XL
您好!
我能否知道、在数据从 UART RX 复制到存储器后、如何配置要生成的 UDMA 接收中断的 API。
此致、
Bharath
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.
Other Parts Discussed in Thread: EK-TM4C1294XL
您好!
我能否知道、在数据从 UART RX 复制到存储器后、如何配置要生成的 UDMA 接收中断的 API。
此致、
Bharath
您好 Bharath、
用于 EK-TM4C1294XL LaunchPad 的 TivaWare 中的 UDMA_DEMO 显示了如何设置用于 UART 操作的 UDMA、请参考该示例、如果您有任何后续问题、请告知我们。 该项目位于:[INSTALL Path]\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\UDMA_demo
您好 Bharath、
要使用 UART5RX 等通道、您需要使用 uDMAChannelAssign API。
然后、您需要为您在 C 文件中使用的 DMA 通道定义自己的定义、例如
// // // SSI2 uDMA 通道号必须配置为调用: // uDMAChannelAssign ()。 //// ***************** #define UDMA_CHANGE_SSI2RX 12 #define UDMA_CHANGE_SSI2TX 13.
然后、当使用 uDMAChannelScatterGatherSet 等 API 时、您将使用定义的 UDMA 通道编号作为第一个参数传递。
您可以通过以下项目查看有关如何对 SSI 示例执行此操作 的完整示例:e2e.ti.com/.../7848.udma_2D00_ssi2_5F00_demo.zip
不幸的是、我没有一个 Scatter 收集项目可供分享、尽管我们计划在不久的将来开发一个。 如果您需要更多指导、您能否分享您在配置方面已经完成的工作?
您好!
我已经尝试了以下方法
#define UDMA_CHANGE_UART5RX 6.
(注意:UDMA_CHANGE_ETH0RX 已定义为6、但 UART5RX 也位于通道6)
uDMAChannelAssign (UDMA_CH6_UART5RX);
uDMAChannelScatterGatherSet (UDMA_CHANGE_UART5RX ,3,表,1);
ROM_IntEnable (INT_UART5);
ROM_IntEnable (INT_UDMA);
我启用 DMA、每1ms 读取一次 UART 中的数据、甚至我定期从其他器件传输一些 UART 数据。 但我无法获取 UART 中断。 如何将其配置为读取数据。 就我所知、DMA 将告知 UART 数据从外设复制到存储器、稍后将生成 UART 中断。 我将从该中断处理程序中将数据从存储器复制到本地变量。
请帮我解决这个问题。
此致、
Bharath
您好 Bharath、
今天我和我的同事讨论了这个问题,我们质疑在这个应用中使用散聚模式,而不是乒乓模式。 您能进一步阐述一下您在这里想要实现的目标吗? 因为您目前的描述表明您应该使用 Ping Pong 模式。
在任何情况下、我需要看到比您发布的代码更多的代码、以了解缺失的部分代码、这类代码会使图片变得过于不完整、无法正常工作。 需要对 UART、UDMA 和中断进行所有配置、包括相关 GPIO。