[PIC®/AVR®/dsPIC®产品] 使用DMA的话,ADC采样一般都如何使用?

[复制链接]
207|28
梦境漫游者 发表于 2026-9-16 10:51 | 显示全部楼层
配置ADC为连续模式,DMA循环模式,注意缓冲区大小,防止溢出。
世纪女孩 发表于 2026-9-17 14:21 | 显示全部楼层
配置要点:MCC 开启 ADC 与 DMA,设置 ADC 采样完成作为 DMA 触发源;指定 DMA 目的存储区(数组)。ADC 每次采样结束自动触发 DMA,把结果写入内存,无需 CPU 搬运。支持单通道单次采集或多通道轮询,可循环模式持续缓存数据。注意匹配数据位宽,合理分配 RAM,中断仅在 DMA 满时处理,适合高速闭环控制。


antusheng 发表于 2026-9-20 10:12 | 显示全部楼层
ADC 负责转换模拟信号,DMA 负责把 ADC 的转换结果,自动搬运到内存数组,全程不需要 CPU 干预,CPU 可以去做别的事。
可爱的白兔先生 发表于 2026-9-21 15:54 | 显示全部楼层
我用DMA把ADC数据直接灌进数组,满半满中断里做滤波,主循环只管用结果。
旧年胶片 发表于 2026-9-23 16:08 | 显示全部楼层
ADC 配置连续转换模式,触发 DMA 搬运。ADC 完成一次采样后产生 DMA 请求,自动将结果寄存器数据搬至内存缓冲区,无需 CPU 介入。缓冲区设半满 / 满中断,CPU 仅在中断时处理一批采样数据。可循环 DMA 实现持续采集,减少 CPU 占用,注意对齐缓冲区、防止溢出,保障采样连续稳定。
又见春光 发表于 2026-9-27 15:17 | 显示全部楼层
开启 ADC 连续采样模式,配置 DMA 将 ADC 结果寄存器自动搬运至内存缓冲区,无需 CPU 介入读取。设置 DMA 半完成 / 全完成中断,缓冲区半满或满时 CPU 才介入处理数据。CPU 摆脱频繁读取 ADC 的负担,可并行执行其他任务;合理配置缓冲区大小,防止采样数据溢出,保障连续采样的实时性。
灰色与青 发表于 2026-9-28 14:42 | 显示全部楼层
ADC 配合 DMA,先配置 ADC 为连续采样模式,采样完成触发 DMA 请求。DMA 自动将转换结果搬运到指定内存,无需 CPU 介入读取。可设置循环搬运实现连续缓存,或双缓冲防止数据覆盖。CPU 仅在缓存满时处理数据,减少中断开销,降低采样抖动,提升采样吞吐,适合多路高速 ADC 采集场景。
与人间浪漫 发表于 2026-9-30 09:31 | 显示全部楼层
ADC 配置连续采样模式,设置 DMA 通道,将 ADC 结果寄存器作为源地址,目标设为内存缓冲区。由 ADC 转换完成信号触发 DMA 自动搬运数据,无需 CPU 介入。可采用循环缓冲实现持续采集;软件在半满 / 满中断读取批量数据,配合过采样与滤波,减少 CPU 开销,提升采样效率。
四十四次日落 发表于 2026-9-30 09:47 | 显示全部楼层
ADC 配置连续转换模式,开启 DMA 搬运,设置 DMA 循环模式。ADC 完成一次采样后触发 DMA,自动把采样值从 ADC 寄存器搬运到内存数组,无需 CPU 介入。CPU 仅在数组半满 / 满中断时处理数据,减少占用。注意匹配采样时钟与 DMA 传输速率,防止数据覆盖丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部