学悄28335的ADC和DMA

[复制链接]
 楼主| jxmzzr 发表于 2014-3-3 16:26 | 显示全部楼层 |阅读模式
这几天在学习28335的ADC和DMA,在阅读ADC-DMA的官方代码中有以下几行代码感到疑惑,望有了解的朋友给指导下,很是感激……
+ S/ g; `3 g% f. X% f9 k& Q( q2 J        DMACH1BurstConfig(3,1,10);//一个burst是3个字,源地址步长是1,目的地址的步长为什么要设置成10??
( l- P2 a4 l* y7 @! W4 y        DMACH1TransferConfig(9,1,0);//一个transfer有9个burst,源地址步长是1,目的地址步长怎么设置成0了???6 X: P. C& V& X  K) G, d
        DMACH1WrapConfig(1,0,0,1);//这句完全不懂,返回源地址是1?步长是0??然后目的地址是0?步长却是1??
) w' b8 r: q; Y+ \' J5 Z2 T其实这段程序是把ADC的结果寄存器0-7,在序列器1装换完成后,将数据通过DMA发送到一个维数为40的数组。?9 S9 U. c- b* ~7 n# |6 g
DMA的那几个地址,看了一一遍手册还是不太明白啊?
zhangmangui 发表于 2014-3-3 21:43 | 显示全部楼层
https://bbs.21ic.com/icview-147982-1-1.html
这里有分享  看看代码
然后咨询一下他
zhangmangui 发表于 2014-3-3 21:45 | 显示全部楼层
顺便看看这个资料    理解清楚了记得分享一下  帮助他人  谢谢



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
cnsxgh 发表于 2014-5-10 20:02 | 显示全部楼层
楼主这个例子应该是ADC-DMA里面的。那根据楼主这个程序,应该只有3个通道。假设是ADC1,ADC2,ADC3,ADC4。
相应的目标地址是DMA[0]-DMA[30]。
DMACH1BurstConfig(3,1,10);//这里,BURST3个字,表示ADC有四个通道。源地址步长是1,表示源地址指针ADC1完了就是ADC2再完了就是ADC3
//目标地址步长是10,表示ADC1的数据挪到DMA[0],ADC2的数据挪到DMA[10],ADC3的数据挪到DMA[20].
DMACH1TransferConfig(9,0,1);//9,表示了一共采10次。
DMACH1WrapConfig(0,0,0,1);//第一个0,表示一Transfer后,就要进行地址回绕,第二个0,回绕步长不增长。第四个,1,表示目标地址回绕后增加1.即第二轮采采集时,ADC1->DMA[1],ADC2->DMA[11],ADC3->DMA[21]
shui81shui 发表于 2014-6-3 15:40 | 显示全部楼层
学习了
hitbuyi1 发表于 2014-9-23 14:57 | 显示全部楼层
非常好
风清云淡 发表于 2015-7-15 11:03 | 显示全部楼层
cnsxgh 发表于 2014-5-10 20:02
楼主这个例子应该是ADC-DMA里面的。那根据楼主这个程序,应该只有3个通道。假设是ADC1,ADC2,ADC3,ADC4。
...

大神
shenmu2012 发表于 2015-7-15 19:47 | 显示全部楼层
合理利用DMA的对开发设计的会有很大帮助的。
firstblood 发表于 2015-7-15 22:05 | 显示全部楼层
在进行ADC转换的时候采用DMA机制的,对芯片的处理线程来说非常有利的。
chennan123456 发表于 2016-8-31 13:38 | 显示全部楼层
cnsxgh 发表于 2014-5-10 20:02
楼主这个例子应该是ADC-DMA里面的。那根据楼主这个程序,应该只有3个通道。假设是ADC1,ADC2,ADC3,ADC4。
...

大神,讲解很详细!
higuain1995 发表于 2017-2-27 15:19 | 显示全部楼层
cnsxgh 发表于 2014-5-10 20:02
楼主这个例子应该是ADC-DMA里面的。那根据楼主这个程序,应该只有3个通道。假设是ADC1,ADC2,ADC3,ADC4。
...

很感谢  学习了
chuntian2016 发表于 2017-2-27 22:36 | 显示全部楼层
这个对照厂家的代码的分享调试的还是可以整明白的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部