您好!
TM4C1292NCPDT 具有支持32通道的 UDMA。 我在数据表中发现它只有一个 DMA 中断源编号。
我想将 UDMA 用于两个不同的外设(通过 SPI 接口的 ADC 和 DAC)。 我们如何使用 DMA 操作为两个不同外设(通过 SPI 接口的 ADC 和 DAC)定义 ISR 处理程序? 我认为 DMA 将根据定义的优先级在外设之间切换操作。 如果是、如何在软件中识别不同外设的 DMA 中断处理程序?
此致
巴拉
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.
您好!
TM4C1292NCPDT 具有支持32通道的 UDMA。 我在数据表中发现它只有一个 DMA 中断源编号。
我想将 UDMA 用于两个不同的外设(通过 SPI 接口的 ADC 和 DAC)。 我们如何使用 DMA 操作为两个不同外设(通过 SPI 接口的 ADC 和 DAC)定义 ISR 处理程序? 我认为 DMA 将根据定义的优先级在外设之间切换操作。 如果是、如何在软件中识别不同外设的 DMA 中断处理程序?
此致
巴拉
[引用 user="Bruno Saraiva">处理 DMA 传输结束的中断是分配给原始外设的中断、而不是指定的 DMA ISR。
这些 DMA 中断仅在您希望监视特定于 DMA 引擎的内容时使用、但通常不需要。
此外、请记住、您只需要创建一个中断数组控制变量(对齐1024字节)、而不需要为每个外设创建一个中断数组控制变量。
[/报价]
您好、Bruno、
让我清楚地解释一下我的要求。 我 已 通过一个 SPI 接口配置了外部 ADC、并通过另一个 SPI 接口配置了外部 DAC。 现在、我要将 UDMA 配置为乒乓模式、以便 通过 SPI 从 ADC 连续接收512个采样(每个采样16位)、并在缓冲区填满后向处理器生成中断。 同时、我 希望通过 SPI 接口从存储器缓冲器向 DAC 发送512个采样(每采样16位)、并且需要在缓冲器变空后向处理器生成中断。
我的问题是、当这两个 ISR 处理程序同时运行时、我们如何为其定义中断源?
此致
巴拉