Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] AD0 not working properly - help

2006-03-03 by Richard Duits

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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.