左岸右岸 发表于 2015-7-25 15:18:28

STM32F072多通道ADC采集,两路数据相同怎么解决?

使用STM32F072多通道ADC采集,发现想要采集的两路数据却是相同的现象,而我用单通道采集数据正常。现在将附上代码,请大家帮忙看看哪里有问题,欢迎指教,希望能解决这个问题,谢谢啦!

这是IO的配置:


配置DMA:


配置ADC:


采样函数:times为采样次数


最后是main函数:


应采样到的数据应为:V1=2590,V2=3031,而实际上采样到的数据V1=V2,即两次采集到的都是ADC通道的最前面的一个通道的数据,在我这里即ADC_Channel_0,不知道哪里出错?或者大家用过哪些方法能成功采集到不同通道的数据?





非常感谢热心的朋友们,有在帖子里给建议的,也有在群里提供帮助的,这里就不一一感谢了。
感谢@Paderboy 的热心帮助,他用cube配置了一个工程文件,经过测试,可行。现在将工程文件发上来,希望能够帮助到更多的朋友。最后再次感谢热心的朋友们!

测试结果:


Paderboy 发表于 2015-7-25 15:18:29

本帖最后由 Paderboy 于 2015-7-26 11:32 编辑

楼主,我帮你用cube 建了个072RBT6的工程。。。写了个简单ADC DMA 程序和工程在压缩包里。。

myFelix 发表于 2015-7-25 17:46:50

2次采集到数据相同,应该 是读出的buf中的内容相同了,看是不是切换的太快了,导致buf覆盖。

左岸右岸 发表于 2015-7-25 18:31:30

myFelix 发表于 2015-7-25 17:46
2次采集到数据相同,应该 是读出的buf中的内容相同了,看是不是切换的太快了,导致buf覆盖。 ...

感谢回复,不过加了延时也一样:)

nocoyou 发表于 2015-7-25 20:16:53

本帖最后由 nocoyou 于 2015-7-25 20:27 编辑

为什么你用12位的跳变这么小,我的跳变很大

左岸右岸 发表于 2015-7-25 20:29:04

nocoyou 发表于 2015-7-25 20:16
为什么你用12位的跳变这么小,我的跳变很大

你对比下我的程序看看?温飘?

creep 发表于 2015-7-25 20:35:13

左岸右岸 发表于 2015-7-25 20:29
你对比下我的程序看看?温飘?

有没有参考“安臣”的那个帖子,问题解决了吗?

左岸右岸 发表于 2015-7-25 20:39:00

creep 发表于 2015-7-25 20:35
有没有参考“安臣”的那个帖子,问题解决了吗?

我水平低,粗略看了下安臣大神的程序看得好累;P你有好的方法么

nocoyou 发表于 2015-7-25 20:40:11

你是用内部晶振还是外部的?

左岸右岸 发表于 2015-7-25 20:44:05

nocoyou 发表于 2015-7-25 20:40
你是用内部晶振还是外部的?

内部,我没去设置
页: [1] 2 3
查看完整版本: STM32F072多通道ADC采集,两路数据相同怎么解决?