图19-8 显示了一个例子DMA通道0配置为在每一拍传完后增加源地址一拍(BTCTRL.SRCINC是1),DMA通道1被配置为增加源地址两拍(BTCTRL.SRCINC是1,BTCTRL.STEPSEL是1,和BTCTRL.STEPSIZE是0x1).当
目地地址的两个通道都是外设,目地增加将失效(BTCTRL.DSTINC是0).
增加一个块传输的目地地址的使能是通过向块传输控制寄存器(BTCTRL.DSTINC)的目地地址增加使能比特写1.增加的步进值配置并且能被通过写BTCTRL.STEPSEL为0,BTCTRL.STEPSIZE来写希望的步进值
.如果BTCTRL.STEPSEL是1,如果BTCTRL.STEPSEL是1,目地地址增加步进值将是一个节拍的值.
当目地地址增加被配置(BTCTRL.DSTINC是1),SRCADDR必须被设置为在块传输中的最后一拍目地地址.目地地址应被计算如下:
。DSTADDRSTART 是块传输中第一个节拍的目地地址
。BTCNT是BTCNT是留在块传输节拍的初始数量
。BEATSIZE是配置的一拍中的字节数量
。STEPSIZW是配置的每次增的节拍数
图19-9展示了一个例子,DMA通道0被配置成增加目地地址一个节拍(BTCTRL.DSTINC是1)并且DMA通道1被配置为以两拍增加目地地址(BTCTRL.DSTINC是1,BTCTRL.STEPSEL是0,BTCTRL。STEPSIZE是0x1),
当两个通道源地址都是外设,源增加就失效(BTCTRL.SRCINC是0)
|