DBL[4:0]:DMA 连续传送长度 (DMA burst length)
该 5 位向量定义了 DMA 的传送长度(当对 TIMx_DMAR 地址进行读或写访问时,定时器进
行一次连续传送),即传送次数。可按半字或字节进行传送(请参见下面的示例)。
00000:1 次传送
00001:2 次传送
00010:3 次传送
...
10001:18 次传送
示例:以下面的传送为例:DBL = 7 字节且 DBA = TIMx_CR1。
– 如果 DBL = 7 字节且 DBA = TIMx_CR1 表示待传送字节的地址,应通过以下公式给出传送
的地址:
(TIMx_CR1 地址) + DBA + (DMA 索引),其中 DMA 索引 = DBL
在本例中,将为 (TIMx_CR1 地址) + DBA 加上 7 个字节,得到将要复制数据的源/目标地址。
在这种情况下,将向自以下地址开始的 7 个寄存器传送数据:(TIMx_CR1 地址) + DBA
根据 DMA 数据大小的配置,可能发生下面几种情况:
– 如果按半字配置 DMA 数据大小,则将向 7 个寄存器中的每一个传送 16 位数据。
– 如果按字节配置 DMA 数据大小,也将向 7 个寄存器传送数据:第一个寄存器包含第一个 MSB
字节,第二个寄存器包含第一个 LSB 字节,依此类推。因此,使用传送定时器时,还必须
指定 DMA 传送的数据大小。
请问标红色字体是怎么理解的呢?能举例说明吗?
|