Yahoo Groups archive

Lpc2000

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

Message

AD0 not working properly - help

2006-03-03 by Sutton Mehaffey

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.