请问这段程序为什么不能进入中断?

2019-07-15 16:10发布

这段AD转换的程序为什么不能发生中断啊?我用的是msp430g2553的10位AD转换,这里只截取了部分关键地方,这段程序能发生采样,而且ADC10MEM寄存器也有值,但就是进不了采样结束的中断。WDTCTL = WDTPW + WDTHOLD;
        P2SEL=0x00;//P2口的xin和xout(P2.6 P2.7)设置为普通IO
        P1SEL=BIT0;
    P1DIR &=~BIT0;         //将P1.0设置为输入用于电压采集
    P2DIR |=0xff;
    ADC10CTL0&=~ENC;//关闭采样使能
    ADC10CTL0|=ADC10ON+ADC10IE+ADC10SHT_2;//采样保持时间16个时钟
    ADC10CTL0|=SREF_1+MSC+REF2_5V+REFON;
    ADC10CTL1|=INCH_0+CONSEQ_0+ADC10SSEL_2+ADC10DIV_4;//采样通道为A0,采用序列单通道连续采样的模式,设置通道。INCH_0就是P1.0引脚输入
    ADC10DTC1|=0X01;//每一个时钟连续采样20次
    ADC10AE0=BIT0;   //模拟输入使能
    _EINT();
    while(1)
    {
            ADC10CTL0&=~(ENC+ADC10SC);//关闭采样使能
        while(ADC10CTL1&ADC10BUSY);//判断是否有采样或转换动作
        ADC10CTL0|=ENC+ ADC10SC;//开始采样
    }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。