线程中讨论的其他部件:MSP430FR5949,
您好:
我指的是图像。当我启用 内部参考时,ADC 样本会正确地重新定位,但电流消耗为 higi,即60uA。
当我禁用内部参考时,ADC 示例出现雷诺错误(10位 ADC :1023),电流消耗低至13uA。
void Init_ADC(void) { P1SEL0 = BIT0 + BIT1; P1SEL1 = BIT0 + BIT1; ADCCTL0 &= ~(ADCENC); ADCCTL0 |= ADCON | ADCMSC | ADCSHT_2; // ADCON ADCCTL1 |= ADCSHP | ADCSHS_2 | ADCCONSEQ_1|ADCSSEL_1; // repeat single channel; TB1.1 trig sample start //ADCCTL2 |= ADCRES; // 10-bit conversion results ADCMCTL0 |= ADCINCH_1 | ADCSREF_1; // A1 ADC input select; Vref=1.5V ADCIE |= ADCIE0; PMMCTL0_H = PMMPW_H; // Unlock the PMM registers PMMCTL2 |= INTREFEN; // Enable internal reference __delay_cycles(400); // Delay for reference settling PMMCTL2 &=~ INTREFEN; //disable internal reference: 13uA //Comment the statement 60uA ADCCTL0 |= ADCENC; // ADC Enable // ADC conversion trigger signal - TimerB0.1 (32ms ON-period) TB0CCR0 = t1-1; // PWM Period TB0CCR1 = t1-1; // TB1.1 ADC trigger TB0CCTL1 = OUTMOD_3|CCIS_1; // TB1CCR0 toggle TB0CTL = TBSSEL__ACLK | MC_1 | TBCLR; // ACLK, up mode ADC_num=1; } #pragma vector=ADC_VECTOR __interrupt void ADC_ISR(void) { switch(__even_in_range(ADCIV,ADCIV_ADCIFG)) { case ADCIV_ADCIFG: { ADC_Result[ADC_num] = ADCMEM0; if(ADC_num==0) { LPM3_EXIT; ADCCTL0 &=~ ADCENC; ADC_num=1; ADCCTL0 |= ADCENC; } else { ADC_num--; } }break; default:break; } }