[LaunchPad] MSP430 G2452 ADC10单通道单次采样进不去中断

momo10   2012-8-13 13:19 楼主
#include
/*
* main.c
*/
uint x;
void initadc()
{
        P1SEL|=BIT4;//通道4
        P1DIR |=BIT4;
        ADC10CTL0&=~(ENC);
         ADC10CTL0=REFON+REF2_5V+ADC10IE+ADC10ON+ADC10SHT_0;// 打开内部参考电压发生器 参考电压选择2.5V 开启AD功能
        ADC10CTL1|= INCH_4 + CONSEQ_0; //   采样触发源选择ADC10SC 输入通道A4      单通道单次转换
        //ADC10CTL0&=~ADC10IFG;
        ADC10AE0 |= BIT4;                        
}
void main(void) {
        WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
        BCSCTL1 = CALBC1_1MHZ;                    // Set range
        DCOCTL = CALDCO_1MHZ;                     // Set DCO step + modulation */
        initadc();
        ADC10CTL0|=ADC10SC+ENC;//开始采样
}

// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
        x=ADC10MEM;
}
中断进不去啊……

回复评论 (2)

同问

我也遇到同样的问题,用通道A0不会出现问题,换成通道A1就进不了中断,我用的是单通道重复转换模式。
点赞  2012-9-6 16:17
楼主没开总中断吧,然后加个while(1)
点赞  2012-9-8 00:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复