You should start the AD conversion with a single write and not a series of read-modify-write operations. Also make sure that none of the ADC capable pins stay below 3.3 Volt even if they are not used as ADC inputs (see errata for more info). Make sure you configure the pin as ADC input with the pin configuration registers. Regards, Richard. Sutton Mehaffey wrote: > Please help us to improve Yahoo! Groups. Take the survey now! > <http://v2.decipherinc.com/survey/yahoo/yah05014?list=18> > I am trying to read a battery voltage (~12V) on AD0 channel 2. I have > a breadboard circuit with a voltage divider that is working properly > that gives a reading between 1.8V and 2.3V more or less. I am using a > variable power supply to generate these voltages. > > When I connect the 1.8-2.3V to P0.29 (AD0.2), I read CFF (all 10 bits > high) no matter what. Can someone tell by the code below if I have a > setting wrong? My PCLK is 12Mhz. > > > AD0CR |= 0x00200000; // turn on AD0 > AD0CR |= 0x00000400; // divide 12Mhz clock by 3 (max 4.5Mhz ADC clk) > AD0CR |= 0x00000004; // select channel AD0.2 > AD0CR |= 0x01000000; // start conversion now > > while ((AD0STAT & 0x00000004) == 0); // DONE2 status bit in AD0STAT > result = (AD0DR2 & 0x0000FFC0) >> 6; // bits 6-15 are result (0-2055) > > DONE2 is set, and result is always CFF. > > Sutton - dodge1955
Message
Re: [lpc2000] AD0 not working properly - help
2006-03-03 by Richard Duits
Attachments
- No local attachments were found for this message.