您好!
我正在从 ADC12MEM0读取 ADC 输出、但我对转换为电压值感到困惑。 我浏览了数据表、结果是电压值奇怪。 下面是我使用的配置-
ADC12CTL0 = ADC12SHT0_0 | ADC12ON;
ADC12CTL1 = ADC12SHP | ADC12SHS_7 | ADC12CONSEQ_2;
ADC12CTL2 |= ADC12RES_2;
ADC12MCTL0 = ADC12INCH_2 |ADC12VRSEL_1 | ADC12EOS; // VR+= VREF 缓冲、VR-= AVSS
ADC12IER0 |= ADC12IE0;
ADC12CTL0 |= ADC12ENC | ADC12SC;
从上面我知道我需要将十六进制值转换为二进制补码、并将其与 Vref 相乘、然后除以4096。 (我不确定是否绝对需要二进制补码。) 但我应该为 Vref 使用什么值? 例如、当2.5V 的恒定电压输入连接到 ADC 输入通道时、我从 ADC12MEM0寄存器中读取0x0034。 是否有人可以通过这个0x0034十六进制值计算原始2.5V 电压?
我还有一个问题是、ADC 可以读取的最大电压是多少? 当我将3.3V 或5V 连接到 ADC 输入通道时、我在这两种情况下都看到0x0FFFh。
谢谢!