硬汉嵌入式论坛

 找回密码
 立即注册
查看: 699|回复: 5
收起左侧

[有问必答] ADC采样问题

[复制链接]

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2023-6-15 16:45:27 | 显示全部楼层 |阅读模式
STM32F407,开启了一个时间为500us的定时器中断,然后ADC设置的软件触发模式,单次转换,在定时器中断中开启ADC的软件触发,利用DEBUG观看数值发现ADC的读数为1万多,ADC采用的是ADC+DMA传输方式,如在启动ADC的程序后增加了一个100多us的程序,ADC的读数则恢复正常。此外利用图片这种方式进行采样取平均值,为什么在debug里面设断点看值是对的,取消断点后值就出错,有大佬能帮忙看看嘛?
Snipaste_2023-06-15_16-43-59.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2023-6-15 18:26:08 | 显示全部楼层
仅看你的截图,程序有问题。

你的DMA传输不是立即完成的。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2023-6-15 21:12:20 | 显示全部楼层
eric2013 发表于 2023-6-15 18:26
仅看你的截图,程序有问题。

你的DMA传输不是立即完成的。

请问大佬,我就一个ADC1,要采6个通道,怎么能实现采4次做平均呢,我这个判断DMA传输完成标志位的方法是不对的嘛?
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2023-6-16 00:10:34 | 显示全部楼层
eric2013 发表于 2023-6-15 18:26
仅看你的截图,程序有问题。

你的DMA传输不是立即完成的。

请问大佬,要实现我这个思路,程序应该是怎么样啊,这个DMA标志位不能用作判断嘛?
回复

使用道具 举报

22

主题

67

回帖

133

积分

初级会员

积分
133
发表于 2023-7-4 15:05:26 | 显示全部楼层
被arm摧残者 发表于 2023-6-15 21:12
请问大佬,我就一个ADC1,要采6个通道,怎么能实现采4次做平均呢,我这个判断DMA传输完成标志位的方法是 ...

DMA完成中断 或者转换累计打到了你的ADC通道的次数
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2023-7-5 09:10:42 | 显示全部楼层
被arm摧残者 发表于 2023-6-15 21:12
请问大佬,我就一个ADC1,要采6个通道,怎么能实现采4次做平均呢,我这个判断DMA传输完成标志位的方法是 ...

不好意思,忘了回复了。

你采用软件触发的话,可以配置DMA采集4轮,并开DMA中断,这样就可以及时的求平均。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 08:41 , Processed in 0.268086 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表