你(们)好!
我尝试使用 DMA 以{ADC 通道0_Sample0、 ADC 通道1_Sample0、ADC 通道2_Sample0、ADC 通道2_Sample0、 ADC 通道 0_Sample1、 ADC 通道0_Sample1、ADC 通道1_Sample1的格式将 ADC 样本从三个 通道传输到一个阵列 ADC 通道 2_Sample1、 ...}
在注意到勘误表43时、我尝试使用 dma 来实现这一点、第一个是针对阵列大小进行块修复、另一个是针对在循环3中更改源地址。 IE:{0x0860、0x0862、0x0864}
但对于我的情况、它永远不会起作用。 即使在调试会话中、我看到第一个 DMA 通道的 SA 寄存器 实际上已更新为我需要的值、但移动到阵列的数据始终来自 DMA 初始化过程中设置的 ADC 通道。
这意味着一旦 DMA 被设置、它将不再获取 DMAxSA 或 DMAxDA 中的值。 我发现用户手册第11.2.2.2章的说法是" DMAxSA、DMAxDA、DMAxSZ 寄存器被复制到临时寄存器... "
我想知道大家是如何通过使用两个 DMA 在他们的项目中实现这些目标的。
Br、
Jason