Ответ: LPC2124 ADC Работающий пример //Инициализация
void AdcInit (){
PINSEL1_bit.P0_27 = 0x01;
ADCR_bit.SEL = 0x01;
ADCR_bit.CLKDIV = PCLKFREQ/ADCFREQ - 1;
ADCR_bit.BURST = 0;
ADCR_bit.CLKS = 0;
ADCR_bit.PDN = 1;
ADCR_bit.START = 0;
}
//Измерение напряжения питания
#define ADCFREQ 250000
#define START_ADC() {ADCR |= 0x01000000;}
#define WAIT_ADC_DATA() {while (!TstBit (ADDR,BIT31)){};}
#define ADC_DATA ((ADDR & 0x0000FFC0) >> 6)
void GetSupplyVoltage (){
unsigned int iTemp;
supplyVoltage = 0.0;
for (iTemp = 0 ; iTemp < 50 ; iTemp++){
START_ADC ();
WAIT_ADC_DATA ();
supplyVoltage += ADC_DATA * coeffPower;
}
supplyVoltage /= 50.0;
}