OpenEdv-开源电子网

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

三重ADC交替触发模式,如何使用DMA存储数据?

[复制链接]

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2018-11-10
在线时间
21 小时
发表于 2019-4-6 15:30:07 | 显示全部楼层 |阅读模式
1金钱
如题。

之前看中F407的多重 ADC 模式,才买了开发板,结果一上手才发现并不是那么容易驾驭。。
几经波折,终于到了ADC的配置阶段。
但也不是很顺利。

简单来说,我要做的是一种专用示波器,各项指标要求都不高,应该是F407的片内ADC就能胜任。

所以,我需要确定的ADC采样间隔时间并且可调。

之前就看中了这个交替触发模式,感觉再合适不过。

但,配置中发现,交替触发模式只能用于注入组,不能用于规则通道。
强行测试,ADC没有转换数据,可能根本没有触发转换。

于是,按照手册中的说明进行配置。
测试结果,基本符合手册中的说明。

但,ADC转换的数据分别存在3个不同的寄存器中。
我这才看清楚:ADC_CDR 叫做 ADC  通用规则数据寄存器。

不死心,写了个测试程序。
用DAC做信号,8位。
ADC也设置成8位。
ADC1、2、3都配置成单通道,全接在0通道。
用T2做源触发AD转换。时间间隔0.5S,DAC也是0.5S  +1

然后,将ADC全部的数据寄存器显示在屏幕上。
20190406_143751.gif
手机直接拍的动图,效果不太好。
大致看到:
DAC在自加。
ADC1_JDR1
ADC1_JDR2
ADC1_JDR3
在顺序变化。

动图时间很短,但大致能看到1、2个循环。

其他ADC的数据寄存器,一直为0.

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2018-11-10
在线时间
21 小时
 楼主| 发表于 2019-4-6 15:44:31 | 显示全部楼层
奇怪,好像gif动图不显示。截一张静态图片算了。
1.png

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-4-6 23:23:42 | 显示全部楼层
帮顶
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2018-11-10
在线时间
21 小时
 楼主| 发表于 2019-4-7 14:42:55 | 显示全部楼层
呃,看到原子哥帮顶,就感觉我这方案要凉。。
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2018-11-10
在线时间
21 小时
 楼主| 发表于 2019-4-7 15:09:36 | 显示全部楼层
刚才不死心,又看了看DMA的寄存器配置。
如果,每次数据传输后,存储器地址指针递增的增量,可以自己随意设置就好了。我就能直接实现3合1。

现在,如果硬要做,就要多占用1倍的数据存储空间。用地址共用体,也要多用1/3的RAM。
关键是需要数据转移,让我很不爽。。

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-12 06:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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