Other Parts Discussed in Thread: CC2540
Hi,
I want to use four channel ADC of cc2540, input pins are AIN4~AIN5. So set pin4 to pin7 as analogue pins using APCFG |= 0xF0. But I don't know whether DMA works if I only use one DMA channel for four channel ADC. Can I choose AIN4~AIN5 rather than AIN0~AIN3? I have set DMA as below but it doesn't work. Where is the problem?
Thanks
dma_channel_init ( &dmaConfig0, adc_data, 4, HAL_DMA_TRIG_ADC_CHALL);
void dma_channel_init ( halDMADesc_t __xdata *dma_p, int16 __xdata *dest_adr, uint8 lenl, uint8 trig )
{
dma_p->srcAddrH=(uint8)0x70;
dma_p->srcAddrL=(uint8)0xBA;
HAL_DMA_SET_DEST( dma_p, dest_adr );
HAL_DMA_SET_VLEN (dma_p,HAL_DMA_VLEN_USE_LEN);
HAL_DMA_SET_LEN( dma_p, lenl );
HAL_DMA_SET_WORD_SIZE (dma_p, HAL_DMA_WORDSIZE_WORD);
HAL_DMA_SET_TRIG_MODE (dma_p, HAL_DMA_TMODE_SINGLE);
HAL_DMA_SET_TRIG_SRC (dma_p, trig);
HAL_DMA_SET_SRC_INC (dma_p,HAL_DMA_SRCINC_0);
HAL_DMA_SET_DST_INC (dma_p,HAL_DMA_DSTINC_1);
HAL_DMA_SET_IRQ (dma_p,HAL_DMA_IRQMASK_DISABLE);
HAL_DMA_SET_M8 (dma_p,HAL_DMA_M8_USE_8_BITS);
HAL_DMA_SET_PRIORITY (dma_p,HAL_DMA_PRI_HIGH);
}