相关的几个讨论
https://community.st.com/s/question/0D50X0000B45uUx/generation-of-pwm-wave-with-dma
这个是用PWM驱动LED的, 原来是uint8_t数组, 改成uint32_t正常工作
https://community.st.com/s/question/0D50X0000C6bAMdSQM/hal-timers-dma-method-enforces-4bytes-alignment-why-
这个没太看明白, 好像是说HAL下做不到, 但是SPL下可以用uint8_t数组DMA方式传给uint32_t的外设?
【 在 Mikov 的大作中提到: 】
: 之前测试用PWM输出音频, 音频是8KHz 8bit, 用DMA方式, 一直有问题, 拿分析仪查, 最后总结的原因是DMA配的外设位宽和时钟的计数器位宽不一致, 配置时选的TIM2计数器是32bit的, 代码里配的是HALFWORD, 把下面两处都改成WORD才能正常工作
: hdma_tim2_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
: hdma_tim2_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
: ...................
--
FROM 60.253.242.*