打印
[STM32L1]

ADC连续采样,DMA最后一组数据总错位

[复制链接]
51|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
帛灿灿|  楼主 | 2025-6-16 07:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, DM, DMA, dc
DMA每轮采集的数据数组最后几个值总感觉位置对不上,像是采样和数组写入不同步了。

使用特权

评论回复
沙发
Clyde011| | 2025-6-16 07:21 | 只看该作者
试试加个小延时或双缓冲处理。

使用特权

评论回复
板凳
公羊子丹| | 2025-6-16 07:22 | 只看该作者
DMA模式是不是用的circular?

使用特权

评论回复
地板
周半梅| | 2025-6-16 07:23 | 只看该作者
你开了DMA half-transfer中断没?

使用特权

评论回复
5
帛灿灿|  楼主 | 2025-6-16 07:24 | 只看该作者
我也遇到过,是因为ADC触发源没对上。

使用特权

评论回复
6
童雨竹| | 2025-6-16 07:25 | 只看该作者
用逻辑分析仪抓下ADC触发节奏。

使用特权

评论回复
7
万图| | 2025-6-16 07:26 | 只看该作者
会不会是数组大小没对齐?

使用特权

评论回复
8
Wordsworth| | 2025-6-16 07:27 | 只看该作者
我之前采样数不是2的幂就出错。

使用特权

评论回复
9
Bblythe| | 2025-6-16 07:27 | 只看该作者
把缓存区地址设成cacheable可能也有问题。

使用特权

评论回复
10
Pulitzer| | 2025-6-16 07:28 | 只看该作者
看下ADC EOC标志是不是提前触发了。

使用特权

评论回复
11
Uriah| | 2025-6-16 07:29 | 只看该作者
DMA buffer刷新的时候别操作ADC寄存器。

使用特权

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

本版积分规则

102

主题

5142

帖子

0

粉丝