打印
[STM32F1]

使用DMA读取多个ADC通道工作不正常

[复制链接]
607|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cutfall|  楼主 | 2025-6-25 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, DM, DMA, dc
本帖最后由 cutfall 于 2025-6-25 22:55 编辑

正在尝试使用DMA方法读取多个ADC通道。我无法解读数值。
还测试了DMA和轮询方法,但没有工作。
uint32_t value[2]; HAL_ADC_Start_DMA(&hadc1, value, 2); // start adc in DMA mode
//polling method
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
value[0]= HAL_ADC_GetValue(&hadc1);
HAL_ADC_Stop(&hadc1); HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
value[1]= HAL_ADC_GetValue(&hadc1);
HAL_ADC_Stop(&hadc1);
用的是DMA通道1的ADC 1。,不知道哪里配置不对


使用特权

评论回复
沙发
1988020566| | 2025-7-2 11:10 | 只看该作者
在CubeMX生成的代码中,MX_DMA_Init()应该在MX_ADC1_Init()之前调用。

使用特权

评论回复
板凳
sanfuzi| | 2025-7-2 13:01 | 只看该作者
DMA仅读取第一个通道数据,后续通道值不更新。

使用特权

评论回复
地板
wilhelmina2| | 2025-7-4 20:15 | 只看该作者
先启动DMA再启动ADC转换              

使用特权

评论回复
5
plsbackup| | 2025-7-4 20:34 | 只看该作者
DMA请求可能在ADC转换完成之前就被触发,或者DMA传输在ADC转换开始之前就开始。

使用特权

评论回复
6
updownq| | 2025-7-5 20:11 | 只看该作者
检查ADC的时钟配置。ADC的工作频率

使用特权

评论回复
7
beacherblack| | 2025-7-5 22:55 | 只看该作者
利用串口打印或其他方式输出关键变量值

使用特权

评论回复
8
fengm| | 2025-7-6 10:51 | 只看该作者
循环模式下,缓冲区长度需大于等于DMA一次性传输的数据量。

使用特权

评论回复
9
kkzz| | 2025-7-6 14:28 | 只看该作者
使用扫描模式(ADC_ScanConvMode_Enable)来读取多个通道。

使用特权

评论回复
10
wangdezhi| | 2025-7-6 16:02 | 只看该作者
在多通道模式下,需要配置每个通道的采样时间和转换顺序。

使用特权

评论回复
11
kmzuaz| | 2025-7-7 14:20 | 只看该作者
ADC的多通道扫描模式可能没有正确配置,或者ADC的规则组和注入组设置不正确。

使用特权

评论回复
12
probedog| | 2025-7-7 16:24 | 只看该作者
ADC扫描模式没启用?

使用特权

评论回复
13
flycamelaaa| | 2025-7-7 18:27 | 只看该作者
估计是DMA配置错误吧。

使用特权

评论回复
14
powerantone| | 2025-7-7 18:28 | 只看该作者
检查DMA数据方向、内存增量模式或数据宽度配置是否有误。

使用特权

评论回复
15
stormwind123| | 2025-7-7 19:48 | 只看该作者
可能是通道顺序与规则组配置不匹配。

使用特权

评论回复
16
classroom| | 2025-7-7 20:30 | 只看该作者
更新HAL库版本到最新版本。

使用特权

评论回复
17
jcky001| | 2025-7-7 20:31 | 只看该作者
检查时钟配置还有通道顺序。

使用特权

评论回复
18
jackcat| | 2025-7-10 10:26 | 只看该作者
临时禁用多通道扫描,仅测试单个通道

使用特权

评论回复
19
wangdezhi| | 2025-7-10 12:07 | 只看该作者
DMA通道或ADC通道可能与其他外设存在资源冲突。

使用特权

评论回复
20
sheflynn| | 2025-7-10 13:35 | 只看该作者
避免因采样时间不足导致数据错误。

使用特权

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

本版积分规则

27

主题

27

帖子

0

粉丝