技术参考文档 英文P319/619,中文P254/524
Bits 12:8 DBL[4:0]: DMA Burst Length. This 5-bits vector defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of bytes to be transferred. 00000: 1 byte, 00001: 2 bytes, 00010: 3 bytes, ... 10001: 18 bytes
DBL[4:0]: DMA连续传送长度 这些位定义了DMA在连续模式下的传送长度(当对TIMx_DMAR寄存器进行读或写时,定时器则进行一次连续传送),即:定义传输的次数,传输可以是半字(双字节)或字节: 00000:1次传输 00001:2次传输 00010:3次传输 ...... ...... 10001:18次传输
另见208/524
DBL[4:0]: DMA连续传送长度 这些位定义了DMA在连续模式下的传送长度(当对TIMx_DMAR寄存器进行读或写时,定时器则进行一次连续传送),即:定义传输的次数,传输可以是半字(双字节)或字节: 00000:1次传输 00001:2次传输 00010:3次传输 ...... ...... 10001:18次传输 例:我们考虑这样的传输:DBL=7,DBA=TIM2_CR1 - 如果DBL=7,DBA=TIM2_CR1表示待传输数据的地址,那么传输的地址由下式给出: (TIMx_CR1的地址) + DBA + (DMA索引), 其中 DMA索引 = DBL 其中(TIMx_CR1的地址) + DBA再加上7,给出了将要写入或者读出数据的地址,这样数据的传输将发生在从地址(TIMx_CR1的地址) + DBA开始的7个寄存器。 根据DMA数据长度的设置,可能发生以下情况: - 如果设置数据为半字(16位),那么数据就会传输给全部7个寄存器。 - 如果设置数据为字节,数据仍然会传输给全部7个寄存器:第一个寄存器包含第一个MSB字节,第二个寄存器包含第一个LSB字节,以此类推。因此对于定时器,用户必须指定由DMA传输的数据宽度。
|