I am using LPC2148 and I'm doing my work on ADC . I did 2 channels of ADC and its working perfectly but when I'm gone to 3rd channel output of 3rd channel is not working and i want to know that if we see 8 channel of ADC at a time?
#include<lpc214x.h> #include"lcd_arm.h" #include"adc1.c" #define zero 48 int digit,digit1,digit2,digit3,digit4,digit5,digit6,digit7,digit8,digit9,digit10; void adc0(void); void adc2(void); void adc1(void); void lcd_init(void); void calculate0(int digit); void delay(void); float dout,stepsize; unsigned int c,adcdata,count=0,loop; int main() { PINSEL0|=0X00033000; // select AD1.0....ad1.1(P0.12)as input //PINSEL1|=0X00000000; PINSEL2|=0X00000000; lcd_init(); AD1CR&=0X00000000;// clear AD1CR AD1CR|=0X00000003;// select AD1.0....ad1.1as Ain AD1CR|=0X00010000;// select BURST mode (11clk/10bit) AD1CR|=0X00200000;// PDN in operational mode AD1CR|=0X00000300;// CLKDIV=3,to set adclk<4mhz while(1) { adc0(); delay(); adc1(); delay(); adc2(); } } void adc0() { adcdata=AD1DR0; // move the RESULT0(Vin/Vref) to adcdata while((AD1DR0&0X80000000)==0);//check for the done bit adcdata=((adcdata>>6)&0x03FF); stepsize=3.22; // stepsize = Vref/resolution //(3.3/1024=0.00322 (or)3.22x10^-3) (for 10 bit adc) dout=((adcdata*1000000)/stepsize); // dout=((adcdata)*0.00322); c=c+1; if(c==15) { calculate0(dout); delay(); delay(); c=0; } }