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
AD0 not working properly - help
2006-03-03 by Sutton Mehaffey
Attachments
- No local attachments were found for this message.