我正在尝试读取 A3上的一个模拟输入。 当我将模拟输入端的电压提升到2V 左右时、ADC 值似乎在511时达到最大值。 第10位似乎没有被使用。 我需要更改哪个寄存器才能使其读取1023的满标度并使用所有10位?
/*--------------- */
/* EVSE ADC10设置*/
/*--------------- */
/*为配置准备 ADC10A */
ADC10CTL0 &=~ADC10ENC;
/*清除挂起的中断以确保 DMA 的触发*/
ADC10IFG = 0;
/* ADC 打开、ADC10等待来自 SD24的触发、采样时间2us 8xADCclk、自动下一个转换 */
ADC10CTL0 = ADC10SHT0 | ADC10ON | ADC10MSC;
//*由 SD24触发,SMCLK/6 = 4MHz,脉冲采样模式*/
ADC10CTL1 = ADC10SHP | ADC10SHS_0 | ADC10DIV_0 | ADC10SSEL_3 | ADC10CONSEQ_2;/*单通道、重复转换*/
/* 10位转换结果*/
ADC10CTL2 |= ADC10RES;
/*启用 ADC 转换完成中断*/
ADC10IE |= ADC10IE0;
/* A3 ADC 输入选择;Vref=AVCC */
ADC10MCTL0 |= ADC10INCH_3 | ADC10SREF_0;
/*启用 ADC10中断*/
//ADC10IE = ADC10IE0 | ADC10OVIE | ADC10TOVIE;
/*启动 ADC 并等待软件启动转换触发器*/
ADC10CTL0 |= ADC10ENC + ADC10SC;
谢谢。
Mike