DMA使用中的XRAM地址是不是不稳定?
AI8051U34K64 QFN48, 在XRAM TO TFT 16位I8080,565格式传输中,总是数据不对,直接LCMIF配置输出才行.;WR8放入数据数量, WR30指向数据地址,可寻址64K空间
ILI_DMADATA_WR: ;DMA方式写LCM显示数据
MOV DPX, #WORD0 DMA_LCM_AMTH ;
MOVH DPX, #WORD2 DMA_LCM_AMTH ;
MOV @DPX, R8 ;
MOV DPX, #WORD0 DMA_LCM_AMT ;
MOVH DPX, #WORD2 DMA_LCM_AMT ;
MOV @DPX, R9 ;数据数量
MOV WR10, WR30 ;源地址
MOV DPX, #WORD0 DMA_LCM_TXAH ;
MOVH DPX, #WORD2 DMA_LCM_TXAH ;
MOV @DPX, R10 ;
MOV DPX, #WORD0 DMA_LCM_TXAL ;
MOVH DPX, #WORD2 DMA_LCM_TXAL ;
MOV @DPX, R11 ;
MOV R11, #0A1H ;清空FIFO,数据写开始
MOV DPX, #WORD0 DMA_LCM_CR ;
MOVH DPX, #WORD2 DMA_LCM_CR ;
MOV @DPX, R11 ;
RET ;
不需要直接操作DPX,直接操作DPTR,然后访问@DR56 DPX=DR56,只是写法不同.我这个找到问题了,
是发送字节数不对,16位发送的话,
DMA_LCM_AMT 发送次数得减半,
因为一次发送了2个字节.
它这个描述成字节数有点坑人!
{:4_165:}
页:
[1]