本帖最后由 tcc8073 于 2012-8-10 13:21 编辑
我使用的是32.768HZ的外部晶振,现在只想单通道单次测试P2.2口的电平并进入中断,我选的是VCC=3.3V做电压标准,现在进不了中断,AD转换没有启动,不知道是什么原因,请指教!!!
void int_ad()
{
ADC10CTL0 &= ~ ENC; //在改变设置前停止转换
ADC10CTL0 |= ADC10ON + ADC10SHT_2 + ADC10IE+ MSC; //打开内核,采样保持时间,中断允许
ADC10CTL0 |= SREF_0 + REFON; //参考电平设置
ADC10CTL1 |= CONSEQ_0+ADC10SSEL_1; //单通道单次转换,时钟源
//ADC10DTC1 |= 0x02;
ADC10CTL1 |=INCH_2; //选择第2通道,
ADC10AE0 |= BIT2; //使能A2
while(ADC10CTL0 & ADC10BUSY); //判断是否有其他的转换
ADC10CTL0 |= ENC + ADC10SC; //开始转换
_BIS_SR(GIE);
void main()
{
WDTCTL=WDTPW+WDTHOLD;
BCSCTL3 |=LFXT1S_0;//ACLK=32.768KHZ
while(IFG1&oFIFG)
{
IFG1&=~OIFG;
_de1lay_cycles(10000);
}
__bis_SR_register(SCG1+SCG0);
BCSCTL2 |=SELM_3+DIVM_3;//MCLK=32.768KHZ/8
while(1)
{;}
}
#pragma vector=ADC10_VECTOR
__interrupt void adc_iar()
{
} |