GD32F407 ADC连续采样
问题描述在使用ADC多通道连续采样并使用DMA搬运数据,但只会在上电后搬运一次数据;
问题原因
再多通道时,DMA没有收到最后一个数据的搬运请求。
问题解决
在使能ADC DMA后在调用adc_dma_request_after_last_disable设置ADC_CTL1的DDM为1,使其在常规转换结束也会产生一个DMA搬运请求。
adc_dma_mode_enable(ADC0); /* 使能ADC DMA功能 */
dma_channel_enable(DMA1, DMA_CH4); /* 使能DMA通道 */
adc_dma_request_after_last_enable(ADC0); /* 设置DDM位为1 重要!! */
注意:
本人也是第一次接触GD32,在使用中发现了该问题,问题原因描述可能会存在问题,但是确实通过该方式解决了该问题
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/apple_71172562/article/details/148632367
页:
[1]