#include <msp430.h> unsigned int ADC_value; int main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer //----------- P2SEL1 |= BIT2; P2SEL0 |= BIT2; PM5CTL0 &= ~LOCKLPM5; //----ADC CONFIG ADC12CTL0 &= ~ADC12SHT0; ADC12CTL0 |= ADC12SHT0_2; ADC12CTL0 |= ADC12ON; //adc on ADC12CTL1 |= ADC12SSEL_2; //selects clk ADC12CTL1 |= ADC12SHP; ADC12CTL2 &= ~ADC12RES; ADC12CTL2 |= ADC12RES_2; // select resolution as 12bit ADC12MCTL0 |= ADC12INCH_14; // channel that im readin ADC from ADC12IER0 |= ADC12IE0; __enable_interrupt(); while(1) { ADC12CTL0 |= ADC12ENC | ADC12SC; //start conversion while (( ADC12IFG0 & ADC12IFG0)==0); //interrupt flag } } //------ISR #pragma vector = ADC12_VECTOR __interrupt void ADC12_ISR() { ADC_value = ADC12MEM0; }
This is my ADC read code from the Pin 2.2
the minimum ADC value im getting from P2.2 starts from 2098 - 4095
its not reducing while i try to reduce below 2098 (using trim pot)
If i apply the basic ADC formula for voltage i can only read from 1.7V - 3.3V
i cant able to read beteween 0v-1.69v ~ need some suggestions i cant able to find what error occurs
Please help me out