How to extract the data for multiple adc in lpc 2138?

Hi I how to extract the data for multiple input to adc port in lpc2138 .
Here is the code for initialization of the adc and tell me how to extract the data for both the adc


void adc_ini(void)
{


                PINSEL1 = 0X05000000; //pin 13 p0.28 and p0.29 adc 0 channel 1 and 2
                PCONP |=  0X00001000;   //select adc 0 bit 12
                AD0CR &=  0X00000000;
                AD0CR |=  0X00200206; // WITH PCLK 12/(2+1)=4MHZ ADC0 CHANNEL 1 and 2 PIN 13 and 14
                AD0INTEN &= 0x00000000; //Completion of a conversion on ADC channel 0 will not generate an interrupt.


}

void adc_data(void)
{
                    AD0CR  |= 0x01000000;              /* Start A/D Conversion         */
                    while((AD0DR & 0x80000000)==0); //until bit 31 is high (DONE)
                    val = AD0DR; //read a/d data register
                    adc_val = ((val >> 6) & 0x3FF);    // Extract AD result
}

How to modify for extracting the data from both the data register ?

Thanks in advance

Parents
  • This what you have used

     AD0CR |= 0X00200206; // WITH PCLK 12/(2+1)=4MHZ ADC0 and 1 CHANNEL 1 PIN 13
    

    And this is what the user manual says for AD0CR:
    b7:0 Selects which of the AD0.7:0/AD1.7:0 pins is (are) to be sampled and converted. For AD0, bit 0 selects Pin AD0.0, and bit 7 selects pin AD0.7. In software-controlled mode, only one of these bits should be 1 . In hardware scan mode, any value containing 1 to 8 ones. All zeroes is equivalent to 0x01.

    You should enable one channel at a time.

    Alex

Reply
  • This what you have used

     AD0CR |= 0X00200206; // WITH PCLK 12/(2+1)=4MHZ ADC0 and 1 CHANNEL 1 PIN 13
    

    And this is what the user manual says for AD0CR:
    b7:0 Selects which of the AD0.7:0/AD1.7:0 pins is (are) to be sampled and converted. For AD0, bit 0 selects Pin AD0.0, and bit 7 selects pin AD0.7. In software-controlled mode, only one of these bits should be 1 . In hardware scan mode, any value containing 1 to 8 ones. All zeroes is equivalent to 0x01.

    You should enable one channel at a time.

    Alex

Children
More questions in this forum