工具/软件:Code Composer Studio
您好!我有一个问题要问。
我配置了 DMA 寄存器模式 CH1[PERINTSEL]= ADCINT1。 在测试期间、我发现 DMA 不会自动清除 ADC 中断标志、 但在您的技术手册中有这样一段:"收到外设中断事件信号后、DMA 将自动向中断源发送清除信号、以便随后发生中断事件。" 如何将 DMA 配置为自动清除 ADC 的中断标志?
谢谢!
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.
工具/软件:Code Composer Studio
您好!我有一个问题要问。
我配置了 DMA 寄存器模式 CH1[PERINTSEL]= ADCINT1。 在测试期间、我发现 DMA 不会自动清除 ADC 中断标志、 但在您的技术手册中有这样一段:"收到外设中断事件信号后、DMA 将自动向中断源发送清除信号、以便随后发生中断事件。" 如何将 DMA 配置为自动清除 ADC 的中断标志?
谢谢!
邱京
如您 所知、通过 配置 DMA CH1模式寄存器(位4-0)、ADCINT1可用作启动 DMA 的触发器。 然后、ADC INTSEL1N2寄存器可配置为生成 ADCINT1脉冲、而不考虑 ADCINT1标志状态。 您将在 F2806x 技术讲座中找到一个有关您尝试执行的操作的准确示例、该实验课程可在以下位置找到:
https://training.ti.com/c2000-f2806x-microcontroller-workshop?cu=1137791
请参阅实验9说明和解决方案文件。 在 adc.c 中、您将找到 ADCINT1配置、并注意到 PIE 的 ADC 中断已注释掉。 这是因为我们不使用 ADC ISR、而是使用 DMA ISR。 (在之前的实验练习中使用了 ADC ISR)。 接下来、请参阅 dma.c、您将找到 DMA 的配置。 请注意、在 dma.c 中、我们正在启用 DMA 中断。 DefaultIsr_9.c 包含 DINTCH1_ISR。 在此 ISR 中、我们将运行乒乓循环缓冲器、但您可以使用自己的 ISR 替换此 ISR。 此外、您也可以查看研讨会的其余部分。
但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。
- Ken