打印
[STM32F1]

STM32F103 ADC利用DMA进行采样问题求解

[复制链接]
117|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2024-6-11 09:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, DMA, DM, ADC, AD
STM32F103配置了ADC1 的4个通道,利用定时器的事件触发进行10Hz 的数据采样,数据通过DMA传输。然后希望每次采样4*50个数据后触发DMA的中断进行数据的处理。

根据教程进行了相关的配置后,遇到了2个问题:

1 定时器配置成10hz,但是每次启动采集后基本马上就能进入DMA的回调函数,里面数据已经刷满了,所以感觉ADC的采样频率似乎不是收定时器触发的。

2DMA的回调函数HAL_ADC_ConvHalfCpltCallback,HAL_ADC_ConvCpltCallback,应该是数据完成一半数量的采集后触发第一个回调,全部采集后再触发第二个回调,但是实际上每次都是在第一个回调中数据就全部刷新了,采样完成的回调中不会有新的数据刷新。





希望有人能帮忙指点下,谢谢

使用特权

评论回复
沙发
laocuo1142| | 2024-6-11 16:10 | 只看该作者
检查时钟树配置是否有误

使用特权

评论回复
板凳
flycamelaaa| | 2024-6-11 19:00 | 只看该作者
尝试重新配置定时器、ADC和DMA,确保所有的设置都是正确的。

使用特权

评论回复
地板
powerantone| | 2024-6-11 20:00 | 只看该作者
查看参考手册和教程

使用特权

评论回复
5
stormwind123| | 2024-6-11 22:00 | 只看该作者
如果ADC的转换时间过长,可能会导致采样频率低于预期。请检查ADC的时钟频率和采样时间设置。

使用特权

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

本版积分规则

1218

主题

3203

帖子

0

粉丝