这段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;//开始采样
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>