打印
[STM32G0]

STM32G030F6 ADC+DMA多通道非连续采样无法正常工作?

[复制链接]
909|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七毛钱|  楼主 | 2024-11-14 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, dc, DM, DMA
配置:使用STM32G030F6 ADC外设时,ADC使用两个通道。DMA配置为循环模式,ADC扫描模式+非连续采样。
问题:初始化阶段能进一次DMA传输完成中断,在main函数中再次开启ADC转化不能进入DMA传输完成中断,像是启动ADC转换时,ADC只转换了一个通道,导致DMA传输长度不对,进不了中断。尝试了各种方法,没有解决,目前用了连续转化暂时使用。同样的方法在G431可正常实现。


使用特权

评论回复
沙发
两只袜子| | 2024-11-18 11:44 | 只看该作者
软件配置问题吧

使用特权

评论回复
板凳
jcky001| | 2024-11-18 11:45 | 只看该作者
检查DMA的通道优先级、内存和数据宽度是否匹配ADC的配置。

使用特权

评论回复
地板
cr315| | 2024-11-18 11:45 | 只看该作者
检查是否已经正确配置了DMA传输完成中断。

使用特权

评论回复
5
elephant00| | 2024-11-18 11:45 | 只看该作者
硬件连接不良或供电不稳定

使用特权

评论回复
6
duo点| | 2024-11-18 11:46 | 只看该作者
检查DMA传输的数据是否正确,是否存在数据错位或丢失的情况。

使用特权

评论回复
7
kqh11a| | 2024-12-30 17:48 | 只看该作者
确保你在配置 DMA 时设置了正确的数据传输长度,特别是在 ADC 扫描模式下,DMA 需要传输多个通道的数据。

使用特权

评论回复
8
结合国际经验| | 2024-12-31 23:11 | 只看该作者
检查 ADC 扫描模式配置

使用特权

评论回复
9
淡漠安然| | 2025-2-6 01:00 | 只看该作者
在使用STM32G030F6ADC外设配置DMA进行数据传输时,遇到在初始化阶段能正常进入DMA传输完成中断,但在main函数中再次开启ADC转换不能进入中断的问题,可能是由于ADC配置导致的

使用特权

评论回复
10
确保ADC配置正确,特别是关于通道选择的部分。如果使用扫描模式+非连续采样,确保所有设置的通道都被正确配置并启用

使用特权

评论回复
11
江河千里| | 2025-2-6 03:00 | 只看该作者
确认DMA的配置参数是否正确,特别是关于传输长度和循环模式的设置。循环模式要求正确设置DMA的循环大小或循环地址

使用特权

评论回复
12
别乱了阵脚| | 2025-2-6 04:00 | 只看该作者
检查中断优先级设置。如果其他中断具有更高的优先级,它们可能会阻止ADCDMA中断。确保ADCDMA的中断优先级设置得当

使用特权

评论回复
13
冰春彩落下| | 2025-2-6 05:00 | 只看该作者
建议确保在main函数中再次开启ADC转换时,正确地触发了ADC转换。有时,仅仅配置ADC并不足以启动转换,可能需要额外的软件触发

使用特权

评论回复
14
三生万物| | 2025-2-6 06:00 | 只看该作者
检查DMA传输状态,在DMA传输完成后,检查DMA的传输状态寄存器以确定是否真正完成了传输。如果DMA传输没有正确完成,那么中断不会被触发

使用特权

评论回复
15
光辉梦境| | 2025-2-6 07:00 | 只看该作者
虽然你在STM32G431上使用了同样的方法并且正常工作,但不同型号的MCU可能会有硬件或库函数上的差异。确保使用的库和参考手册是针对STM32G030F6

使用特权

评论回复
16
远山寻你| | 2025-2-6 08:00 | 只看该作者
使用调试器逐步调试代码,查看在开启ADC转换时哪些步骤出现了问题。同时,增加日志输出可以帮助跟踪问题所在

使用特权

评论回复
17
夜阑风雨| | 2025-2-6 09:00 | 只看该作者
再次查阅STM32G030F6的参考手册和相关的示例代码,确保所有步骤都按照手册进行,并且没有遗漏任何重要的配置步骤

使用特权

评论回复
18
一秒落纱| | 2025-2-6 10:00 | 只看该作者
虽然不太可能是硬件问题,但如果其他方法都不能解决问题,建议检查硬件连接,确保所有连接都是正确的

使用特权

评论回复
19
ADC+DMA多通道主要是配置比较复杂还是确认一下细节

使用特权

评论回复
20
三生万物| | 2025-2-7 01:00 | 只看该作者
在使用STM32G030F6ADC外设配置DMA进行数据传输时,遇到在初始化阶段能正常进入DMA传输完成中断,但在main函数中再次开启ADC转换不能进入中断的问题,可能是由于ADC配置导致的

使用特权

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

本版积分规则

349

主题

2386

帖子

4

粉丝