This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2111:2.0-2.5V 之间的 ADC 读数为1023

Guru**** 2384690 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/732031/msp430fr2111-adc-reading-between-2-0-2-5v-gives-1023

器件型号:MSP430FR2111

你(们)好

我需要读取在2.0V 至2.5V 之间交替的信号。 现在、10位 ADC 始终读取1023、我不确定如何将 用户可选基准电压设置为2.5V 处理器由3V 供电。 ADC 设置为:

#define GPIO_PORT_SENSE_LED_GREEN P1
#define GPIO_PIN_SENSE_LED_GREEN GPIO_PIN4

void adcInit()
{
PxSEL0 (GPIO_PORT_SENSE_LED_GREEN)|= GPIO_PIN_SENSE_LED_GREEN; // SEL01:00b =选择通用 I/O
PxSEL1 (GPIO_PORT_SENSE_LED_GREEN)|= GPIO_PIN_SENSE_LED_GREEN;
ADCCTL0 |= ADCSHT_2 | ADCON; // 16ADCclks、ADC 打开
ADCCTL1 = ADCSHP | ADCCONSEQ_0; // ADCCLK = MODOSC;采样定时器
ADCCTL2 = ADCRES; // 10位转换结果
ADCIE = ADCIE0; //启用 ADC conv 完整中断
}

uint16_t analogRead ()
{
ADCCTL0 &=~ADCENC;
ADCMCTL0 = ADCINCH_4 | ADCSREF_0;// A4
ADCCTL0 |= ADCENC | ADCSC; //采样和转换开始
_bis_SR_register (LPM0_bits); //输入 LPM4、ADC_ISR 将强制退出

返回 g_adcResult
;} 

读取电压较低的信号按预期工作。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Klas、

    如果您为测量选择此基准、并且想要测量高于 VREF 的信号、则内置基准电压的额定值为1.158V 至1.242V、它始终为您提供最大转换结果。 这就是 ADC 的工作方式。

    因此、我建议将 AVCC 和 AVSS 用作基准、从而降低分辨率或施加外部基准电压。