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.
您好!
我能否知道、在数据从 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。