Hi,
i am using kinetis k60 board. i'm facing issue on receiving multiple characters in dma uart receive please help me below attached code... i want to receive multiple bytes but i'm receiving single byte only.
void dma_receive(DMA_MemMapPtr dmach , uint8_t ch , uint8_t* val)
{
int j;
int i;
for(i=0;i<100;i++);
DMA_SADDR_REG(dmach , ch) =0;
//DMA_CR |= DMA_CR_EMLM_MASK;
DMA_SADDR_REG(dmach , ch)|= DMA_SADDR_SADDR(0x4006B007); // CONFIGURING SOURCE ADDRESS
for( j =0 ; j<1000; j++);
DMA_SOFF_REG(dmach,ch) =0;
DMA_TCD0_SLAST= 0x0;
DMA_ATTR_REG(dmach , ch) = (DMA_ATTR_SSIZE(0) | DMA_ATTR_DSIZE(0)); //CONFIGURING SOURCE ADDRESS SIZE
// DMA_NBYTES_MLOFFNO_REG(dmach , ch) = DMA_NBYTES_MLOFFNO_SMLOE_MASK|DMA_NBYTES_MLOFFNO_DMLOE_MASK| DMA_NBYTES_MLOFFNO_NBYTES(0x01);
//
DMA_NBYTES_MLNO_REG(dmach , ch) = 0;
DMA_NBYTES_MLNO_REG(dmach , ch)|= (DMA_NBYTES_MLNO_NBYTES(0x01));
DMA_DADDR_REG(dmach , ch) = 0;
DMA_DADDR_REG(dmach , ch) |= DMA_DADDR_DADDR(val); //CONFIGURING DESTINATION ADDRESS ADDRESS
DMA_DOFF_REG(dmach , ch) = DMA_DOFF_DOFF(0x01);
DMA_BITER_ELINKNO_REG(dmach , ch) =0;
DMA_BITER_ELINKNO_REG(dmach , ch) = DMA_BITER_ELINKNO_BITER(0x01); //STARTING MAJOR ITERATION COUNT
DMA_CITER_ELINKNO_REG(dmach , ch) =0;
DMA_CITER_ELINKNO_REG(dmach , ch) = DMA_CITER_ELINKNO_CITER(0x01); // CURRENT MAJOR ITERATION COUNT
DMA_SERQ |= DMA_SERQ_SERQ_MASK;
DMA_CSR_REG(dmach , ch) = DMA_CSR_START_MASK; // START THE DMA
}