STM32 DAC的DMA问题
在 STM32G431KB 中使用 DAC 生成一些任意信号如果我不使用 DMA,代码可以正常工作。我可以看到 PA2 上的预期输出。当我使用 DMA 时、输出保持在0V、在寄存器中置位了 DMA 欠载位DAC_SR。为什么会发生这种情况,我怀疑 DMA 此时不起作用。
通道选择错误?未使用DAC对应的DMA通道。 DMA配置错误?DMA的通道、传输方向、数据对齐等配置需与DAC需求严格匹配。 可能是DMA缓冲区未对齐传输大小问题。 检查PA2引脚是否复用为DAC输出。 估计是配置不匹配或传输时序问题。 DAC配置未启用DMA? 检查DAC_CR寄存器中的DMAEN位是否置位。数据格式(如DAC_ALIGN_12B_R)是否与DMA传输宽度一致。 RCC_AHB1ENR中DMA时钟是否使能。 检查DMA传输速率是否过高。 中断或错误处理缺失?启用DMA传输完成中断和错误中断。 确认DMA传输长度正确,且循环模式(循环传输)开启(如果需要持续输出)
页:
[1]