This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/CC2541: CC2451 Is there a possibility in dma?

Part Number: CC2541


Tool/software: TI C/C++ Compiler

I want on interrupt timer do copy shift in dma
In result i want for every next interrupt get one single byte from data in dest

for example
on first interrupt
dist = 0x01;
on second
dest = 0x02;
etc...

I know that possible, if define dest as array like

static uint8 dest[1];


and in dest[0] reach wanted.

But need copy to dest as single byte
 
There is possible?

define LEN = 3;
static uint16 data[LEN] = {0x01,0x02,0x03};
static uint8 dest;

dmaConfig0.SRCADDRH  = ((uint16)data >> 8) & 0x00FF;
dmaConfig0.SRCADDRL  = (uint16)data & 0x00FF;
dmaConfig0.DESTADDRH = ((uint16)dest >> 8) & 0x00FF;
dmaConfig0.DESTADDRL = (uint16)dest & 0x00FF;
dmaConfig0.VLEN      = DMA_VLEN_1_P_VALOFFIRST;
dmaConfig0.LENH      = (NO_SAMPLES >> 8) & 0x00FF;
dmaConfig0.LENL      = NO_SAMPLES & 0x00FF;
dmaConfig0.WORDSIZE  = DMA_WORDSIZE_BYTE;
dmaConfig0.TMODE     = DMA_TMODE_SINGLE;
dmaConfig0.TRIG      = DMA_TRIG_T4_CH1;
dmaConfig0.SRCINC    = DMA_SRCINC_1;
dmaConfig0.DESTINC   = DMA_DESTINC_0;
dmaConfig0.IRQMASK   = DMA_IRQMASK_ENABLE;
dmaConfig0.M8        = DMA_M8_USE_8_BITS;
dmaConfig0.PRIORITY  = DMA_PRI_HIGH;

DMA0CFGH = ((uint16)&dmaConfig0 >> 8) & 0x00FF;
DMA0CFGL = (uint16)&dmaConfig0 & 0x00FF;