#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 ~需要一些建议我无法找到发生了什么错误
请帮我解决