OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3999|回复: 7

ADC多通道采集,DMA传输的问题

[复制链接]

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2017-6-19
在线时间
16 小时
发表于 2017-6-19 22:03:02 | 显示全部楼层 |阅读模式
1金钱
  求一个定时器触发ADC多通道采集,DMA传输的例程,我写的发现运行起来很奇怪:两路采集,每路采10个数据(总共20个后)触发DMA中断,中断里把数据求平均,但是只有第二路采集的端口接低电平两路采集的才正常(即第一路显示正常的数据,第二路显示0),如果第二路接了高电平,那么两路显示都不正确,第一路的值会超4095,第二路一直都为0。如果设置先采集第二路,再采集第一路又是反过来的,第一路如果为高都是错的,为低才正常。。。

第一路接3.3v,第二路接0v

第一路接3.3v,第二路接0v

第一路,第二路接3.3v

第一路,第二路接3.3v

DMA配置

DMA配置
QQ截图20170619220038.png

最佳答案

查看完整内容[请看2#楼]

仔细看了下发现组合的数据好像刚好是两个通道采集到的数据,详细看了网上别人的例程发现存储ADC的值的变量要是uint16_t 型,改了就好了。。。数据类型不能自己随便弄啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2017-6-19
在线时间
16 小时
 楼主| 发表于 2017-6-19 22:03:03 | 显示全部楼层
仔细看了下发现组合的数据好像刚好是两个通道采集到的数据,详细看了网上别人的例程发现存储ADC的值的变量要是uint16_t 型,改了就好了。。。数据类型不能自己随便弄啊
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2017-2-23
在线时间
6 小时
发表于 2017-9-17 18:26:38 | 显示全部楼层
你好,可以发一份代码给我吗?我邮箱是812347184@qq.com
回复

使用道具 举报

5

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2016-8-8
在线时间
101 小时
发表于 2017-9-18 08:50:34 | 显示全部楼层
你好,我自己这几天配置PWM触发ADC采样。但始终配置不出来。
不知道哪里搞错了,不知你能否贴一个代码让我对比一下。
若可以,非常感谢。
如何拿下蒙住眼的树叶。
回复

使用道具 举报

50

主题

193

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2016-4-11
在线时间
141 小时
发表于 2017-9-20 10:03:18 | 显示全部楼层
主音调 发表于 2017-9-18 08:50
你好,我自己这几天配置PWM触发ADC采样。但始终配置不出来。
不知道哪里搞错了,不知你能否贴一个代码让我 ...

PWM触发ADC采样,是在PWM波的某个边沿信号触发中断,然后进行adc采集数据吗?
回复

使用道具 举报

5

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2016-8-8
在线时间
101 小时
发表于 2017-9-20 15:41:27 | 显示全部楼层
本帖最后由 主音调 于 2017-9-20 15:42 编辑
滴丶滴 发表于 2017-9-20 10:03
PWM触发ADC采样,是在PWM波的某个边沿信号触发中断,然后进行adc采集数据吗?

PWM触发ADC采样,通过dma传到数组这一块我昨天单独拿出来不用DMA中断试了下没问题了。用中断就不行了,可能是dma传输完成中断我还不太理解。还有就是这个贴的楼主说的没个通道采10个数据然后转到下一个通道采10个数据我也没理解透。

不知大神能不能提点一下。非常感谢!!!有例程就跟好了。
如何拿下蒙住眼的树叶。
回复

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2017-6-19
在线时间
16 小时
 楼主| 发表于 2017-9-21 00:56:08 | 显示全部楼层
传不上去。。。明天我再试试      
然后在回复下,不是先采10个,再采10个;如果配置adc 2路采集,假如数据存adc_value数组,那么数组[0],[2],[4]...存的是第一路的值,[1],  [3],[5]....存的是第二路的值,别看我上面的图,那就是有问题才那样的,看下面这个
正常.png
回复

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2017-6-19
在线时间
16 小时
 楼主| 发表于 2017-9-21 15:10:17 | 显示全部楼层
http://pan.baidu.com/s/1c15irXu,传不上去,百度云吧
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 04:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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