Hi,
I'm trying to convert an voltage on pin A5, but I'm not getting the correct value in ADC10MEM register. I'm using th following code
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
if (CALBC1_1MHZ == 0xFF || CALDCO_1MHZ == 0xFF)
FaultRoutine();
BCSCTL1 = CALBC1_1MHZ; // Set range
DCOCTL = CALDCO_1MHZ; // Set DCO step and mod
P1DIR = 0x40; // P1.6 output
P1OUT = 0; // GREEN off
BCSCTL3 |= LFXT1S_2; // LFXT1 = VLO
IFG1 &= ~OFIFG; // Disable OSCFault flag
BCSCTL2 = SELM_0 + DIVM_3; // MCLK = DCO/8
ADC10AE0 = 0x20; // Enable analog input A5
while (1) {
ADC10CTL1 = INCH_5 + ADC10DIV_0;
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON;
delay(10000); // Allow Ref On to settle.
ADC10CTL0 |= ENC + ADC10SC;
delay(10000);
P1OUT = 0x40;
delay(10000);
ADC10CTL0 &= ~ENC;
ADC10CTL0 &= ~(REFON + ADC10ON);
tempRaw = ADC10MEM;
P1OUT = 0;
delay(50000);
}
}
I'm obviously doing something wrong, but I can't figure out what...
Any help is welcome...