被几个寄存器搞晕了,大家来给楼主揉揉太阳穴

[复制链接]
2219|7
 楼主| 程序会不会 发表于 2012-4-25 21:35 | 显示全部楼层 |阅读模式
手册143页有一段话(STM32F10XXX):从外设数据寄存器或者从当前外设/存储器地址寄存器指示的存储器地址取数据,第一次传输时的开始地址是DMA_CPARX或DMA_CMARX寄存器指定的外设基地址或存储单元
1.什么是外设数据寄存器?
2.什么是当前外设地址寄存器和当前存储器地址寄存器?
logokfu 发表于 2012-4-26 08:31 | 显示全部楼层
 楼主| 程序会不会 发表于 2012-4-26 10:04 | 显示全部楼层
恩,这个图能看懂,可是我问的这几个寄存器,到底是什么意思呢?还请大哥给我讲讲 2# **kfu
logokfu 发表于 2012-4-26 10:06 | 显示全部楼层
就是指外设的地址啊。
比如51单片机的  P0=0x80;
P0口就算是外设了,他的地址就是0x80
香水城 发表于 2012-4-26 10:25 | 显示全部楼层
1.什么是外设数据寄存器?
例如,对于USART来说,就是USART_DR。

2.什么是当前外设地址寄存器和当前存储器地址寄存器?
DMA传输时,传输地址可能发生变化,比如在地址递增模式,DMA模块内部需要有当前地址寄存器来保存这个变化的地址,同时在每次传输后这个地址寄存器会按照需要变化(递增)。
 楼主| 程序会不会 发表于 2012-4-26 10:42 | 显示全部楼层
那句话是不是可以这样来理解:就是DAM取数据可以有三种方式
1:从外设数据存储器直接读取
2:从当前外设 地址寄存器指示的地址去读取数据
3:从当前存储器地址寄存器指示的地址去读取数据 4# **kfu
香水城 发表于 2012-4-26 10:46 | 显示全部楼层
DMA取数据只有一种方式,就是从指定的地址取数据。

对于外设端来讲,这个指定的地址就是由当前外设地址寄存器给出;对于存储器端来讲,这个指定的地址就是由当前存储器地址寄存器给出。
 楼主| 程序会不会 发表于 2012-4-26 10:56 | 显示全部楼层
清楚明白了,我先看的DMA的,还没有看具体外设的部分,等看其中的一个具体外设,理解应该会跟深一点 7# 香水城
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

443

帖子

5

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