打印

香主求救:Stm32F207的AD16路采样

[复制链接]
2911|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
雨辰073|  楼主 | 2011-11-9 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 雨辰073 于 2011-11-9 16:49 编辑

香主,求救,目前在做一个项目,使用的芯片是stm32F207VG。想同时在AD进行16路采样,已经设定好是ADC1(8路)和ADC3(8路),规则转换。并且需要使用DMA来传输AD数据到一个设定的缓冲区buffer,用定时器来触发启动转换。请问一下,应该设置哪一种模式让DMA搬运ADC1和ADC3的数据到一个我设定的Buffer?,要是我把ADC1和ADC3分开工作,使用独立模式,同样还是搬到我设定那个缓冲区的话,这样存放数据会不会混乱?
沙发
香水城| | 2011-11-9 16:57 | 只看该作者
你想在缓冲区中怎么安排数据?

使用特权

评论回复
板凳
雨辰073|  楼主 | 2011-11-9 17:30 | 只看该作者
想依次存放每次ADC1-ADC3的16路数据,根据Rank排序来存放。首先定义的是采样次数ADC——CVTNUM,接下来我定义#define SBUFFER_LEN(ADC_CVTNUM*2),我存放的缓冲区大小为#define INT16 Buffer[SBUFFER_LEN][16];这样存放数据是否会混乱?

使用特权

评论回复
地板
香水城| | 2011-11-9 17:47 | 只看该作者
可以用ADC2吗?ADC2与ADC1可以联动,更方便,库中还有相应例程。

使用特权

评论回复
5
雨辰073|  楼主 | 2011-11-9 18:55 | 只看该作者
不行啊  我也看到库中的例啊程,只能用ADC1和ADC3。要是可以用ADC2就好多了!香主,有什么好的方法吗?

使用特权

评论回复
6
香水城| | 2011-11-9 21:16 | 只看该作者
你可以先看看手册。

使用特权

评论回复
7
雨辰073|  楼主 | 2011-11-10 09:35 | 只看该作者
我说的不行是指硬件电路设计已经被设定成了ADC1和ADC3,没有用ADC2.所以要是让ADC1和ADC3关联起来工作,并且不让数据存放混乱,就比较棘手啊!

使用特权

评论回复
8
香水城| | 2011-11-10 12:11 | 只看该作者
我说的不行是指硬件电路设计已经被设定成了ADC1和ADC3,没有用ADC2.所以要是让ADC1和ADC3关联起来工作,并且不让数据存放混乱,就比较棘手啊!
雨辰073 发表于 2011-11-10 09:35


如果是这样,只需要把ADC1和ADC3的缓冲区区分开就可以,不会混乱的。

如果想交叉存放数据,就不行了。

使用特权

评论回复
9
雨辰073|  楼主 | 2011-11-10 15:16 | 只看该作者
恩,目前的做法的确是分成2个缓冲区。谢谢香主了!:lol下周开始测试。

使用特权

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

本版积分规则

0

主题

33

帖子

1

粉丝