简单来说,就是配置一个DMA之后,传输数据的起始地址是有的,但是他传输的目的地址怎么看?很多模块比如EPPI,PIXC都会有自己的DMA,但是看过几个例程之后发现找不到他要把数据传哪儿。。求大神指点一下。。
比如:
void InitDMA(void)
{
*pREG_DMA29_ADDRSTART = TxBuffer1;
*pREG_DMA29_XCNT = 480*3/4;
*pREG_DMA29_XMOD = 4;
*pREG_DMA29_YCNT = 272;
*pREG_DMA29_YMOD = 4;
*pREG_DMA29_CFG = ENUM_DMA_CFG_MSIZE04 |
ENUM_DMA_CFG_PSIZE04 |
ENUM_DMA_CFG_ADDR2D |
ENUM_DMA_CFG_SYNC |
//ENUM_DMA_CFG_STOP;
ENUM_DMA_CFG_AUTO;
}
void InitEPPI0(void)
{
*pREG_EPPI0_CTL = ENUM_EPPI_CTL_TXMODE |
ENUM_EPPI_CTL_NON656 |
ENUM_EPPI_CTL_SYNC2 |
ENUM_EPPI_CTL_INTCLK |
ENUM_EPPI_CTL_INTFS |
ENUM_EPPI_CTL_PACK_EN |
ENUM_EPPI_CTL_POLC01 |
ENUM_EPPI_CTL_FS1LO_FS2LO |
ENUM_EPPI_CTL_DLEN24;
*pREG_EPPI0_CLKDIV = 0X6;
*pREG_EPPI0_LINE = 525;
*pREG_EPPI0_FRAME = 286;
*pREG_EPPI0_FS1_WLHB = 41;
*pREG_EPPI0_FS1_PASPL = 525;
*pREG_EPPI0_HDLY = 43;
*pREG_EPPI0_HCNT = 480;
*pREG_EPPI0_FS2_WLVB = 5250;
*pREG_EPPI0_FS2_PALPF = 150150;
*pREG_EPPI0_VDLY = 12;
*pREG_EPPI0_VCNT = 272;
}
我查过数据手册,但是并没有看见有关于接收地址的设置,虽然知道这个是通过EPPI模块,把PIXC的输出用DMA传到LCD屏上。这DMA的整个流程到底是怎么在玩。。