打印

DMA结构体的设置

[复制链接]
1864|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pinghpu|  楼主 | 2013-5-10 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC1使用DMA方式,但是对DMAstructure里的几个设置还有疑问:
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADC1_Value;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址寄存器递增
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;//内存地址寄存器不变
  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//工作在循环缓存模式
。。。。。。。。。。。。。。。。。。。。
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;//DMA通道1拥有高优先级
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//DMA通道x没有设置为内存到内存传输


一、外设地址寄存器和内存地址寄存器是否发生变化的依据是什么?二、ADC1的值为什么一定要转为32位?
沙发
紫辰晓风| | 2013-5-12 09:32 | 只看该作者
总线是32位的啊!寻址当然得32位的呢!DMA相当于免CPU监控的搬运工,负责把ADC的数据转到内存中去,所以 一般才多路AD时,为了方便, 外设地址不变,内存地址就要变哦!不知回答清楚了没。

使用特权

评论回复
板凳
cjhk| | 2013-5-12 13:25 | 只看该作者
不是很了解这一块   顶一个    呵呵   希望有更多的高手能够指点一下

使用特权

评论回复
地板
hawksabre| | 2013-5-12 18:17 | 只看该作者
查一查技术手册  找找相对应的寄存器的设置   应该可以将这个问题搞定   呵呵   顶一个

使用特权

评论回复
5
pinghpu|  楼主 | 2013-5-12 22:10 | 只看该作者
紫辰晓风 发表于 2013-5-12 09:32
总线是32位的啊!寻址当然得32位的呢!DMA相当于免CPU监控的搬运工,负责把ADC的数据转到内存中去,所以 一 ...

多谢多谢!
如果是一路AD,内存地址不变吧?

使用特权

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

本版积分规则

7

主题

30

帖子

0

粉丝