OpenEdv-开源电子网

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

有关DMA+adc一个问题

[复制链接]

60

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2012-1-12
在线时间
92 小时
发表于 2018-5-3 09:57:12 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 47933673 于 2018-5-3 10:11 编辑

规则通道通道1、通道2、通道3、通道4、通道5,一共需要转换5个通道,设置为扫描模式+循环模式,我想请问一下,当5个通道全部转换完之后再用DMA传输给内存数据,还是转换一个通道就利用DMA传输给内存一个数据?各位大侠都来讨论一下吧!

手册上写的是“只有在规则通道的转换结束时才产生DMA请求,并将转换的数据从ADC_DR寄存器传输到用户指定的目的地址”。说的不是太明白。不太理解  
如果是这5个通道全部转换完之后再传输到内存数据的话,可是ADC转换结果数据寄存器(ADC_DR)就一个。这样的话不就覆盖数据了。

最佳答案

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-5-3 09:57:13 | 显示全部楼层
回复

使用道具 举报

64

主题

446

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
1032
注册时间
2017-7-26
在线时间
275 小时
发表于 2018-5-4 10:24:23 | 显示全部楼层
循环模式

ADC采集CH1 -> DMA移动数据至位置1 ->  ADC采集CH2  ->  DMA移动数据至位置2

循环的,如果要打破这种循环就要用注入模式
回复

使用道具 举报

60

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2012-1-12
在线时间
92 小时
 楼主| 发表于 2018-5-7 08:43:32 | 显示全部楼层
正点原子 发表于 2018-5-3 09:57
转换一个存一个。

那是不是转换一个存一个数据到我定义的内存数组里面,如果是这样的话,那DMA也访问内存也太频繁了,这个时候DMA频繁的占用数据总线,那cpu效率不就大大下降了?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-5 12:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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