#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;
}这是我的来自引脚2.2的 ADC 读取代码
可以从 P2.2获取的最小 ADC 值从2098到4095
当我尝试降低到2098以下时,它没有减少(使用微调锅)
如果我对电压应用基本的 ADC 公式、则只能从1.7V - 3.3V 的电压中读取
我无法阅读 Beteween 0v-1.69v ~需要一些建议我无法找到发生了什么错误
请帮我解决


