发新帖我要提问
12
返回列表
打印
[其他ST产品]

stm32 adc dma

[复制链接]
楼主: 梅花香自123
手机看帖
扫描二维码
随时随地手机跟帖
21
梅花香自123|  楼主 | 2023-11-25 14:29 | 只看该作者 回帖奖励 |倒序浏览
2,主程序
初始化
MX_DMA_Init();
MX_ADC1_Init();

使用特权

评论回复
22
梅花香自123|  楼主 | 2023-11-25 14:29 | 只看该作者
万分注意,自动生成代码,ADC初始化在前,DMA初始化在后,这样导致DMA时钟还没开启,初始化失败,传输数据时,只有第一个数据成功,之后全为零。将初始化顺序调整,DMA传输数据正常。

使用特权

评论回复
23
梅花香自123|  楼主 | 2023-11-25 14:29 | 只看该作者
使用DMA启用ADC

HAL_ADC_Start_DMA(&hadc1, (uint32_t *)ADC1_DMA_BUFFER, 10);

使用特权

评论回复
24
梅花香自123|  楼主 | 2023-11-25 14:29 | 只看该作者
关闭ADC

HAL_ADC_Stop_DMA(&hadc1);

使用特权

评论回复
25
梅花香自123|  楼主 | 2023-11-25 14:30 | 只看该作者
如果想自己控制ADC的转换,这里不要设置ADC连续转换模式,不然停不下来,不过ADC只进行一次采样,DMA传输的数据只有第一个正确。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则