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.

[参考译文] TM4C123GH6PM:ADC ->uDMA 连续传输

Guru**** 2465890 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/663237/tm4c123gh6pm-adc----udma-continuous-transfer

器件型号:TM4C123GH6PM

您好!

我想知道是否有办法使用 uDMA 从 ADC 持续采样数据并将其放置在存储器位置、而无需依赖中断或处理器来触发转换。 我已经看到了一种使用散聚模式实现的方法、但对于这样一个简单的任务来说、这似乎是一种过死。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ahmed、

    欢迎来到论坛。

    这里有一个示例项目、其中连续 ADC 转换由在乒乓模式下使用 UDMA 的计时器触发:

    https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/647065/2381983

    如果您希望连续触发 ADC、可以通过将第188行中的调用更改为以下内容来简化此示例:

    ADCSequenceConfigure (ADC0_BASE、0U、ADC_TRIGGER_AUSSE、0U);
    

    如果您希望持续更新单个 RAM 位置而不是在缓冲区中收集数据、则可以修改 UDMA 以不递增目标地址、并使主通道和辅助通道写入同一位置。 您不能告诉 UDMA 执行无限数量的传输、因此您仍然必须在最大传输数量(1024)后处理中断、然后重新启用另一个通道(主通道或次通道)。