各位好:
我现在在用430的5438A做一款控制器,使用的板子为自己设计的电路板,编译器采用IAR5.30在XP的操作系统上面,
板子XT1的晶振为16M,目前在调试中发现的问题是:
我在使用ADC12时候觉得是不是自己的ADC设置有问题,使用中断方法读出ADC采样结果老是0XFFF,所以想请大家帮忙解答,谢谢。
现在把ADC设置程序贴出来:
void ADC_Convern(void)
{
uchar i=0;
P6SEL |= BIT4+BIT5; //Enable A/D channel A4 A5
ADC12CTL0 |= ADC12ON+ADC12SHT02+ADC12REFON+ADC12REF2_5V+ADC12MSC;
ADC12CTL1 |= ADC12SHP+ADC12CONSEQ_3;
//ADC12CTL1 |= ADC12CSTARTADD2;//通道4采样的值存入到ADC12MEM4里面
ADC12CTL2 |= ADC12RES_2; //12-bit conversion results
ADC12MCTL4 |= ADC12SREF_1+ADC12INCH_4; // Vr+=Vref+ and Vr-=AVss
ADC12MCTL5 |= ADC12SREF_1+ADC12INCH_5+ADC12EOS;; // Vr+=Vref+ and Vr-=AVss
ADC12IE = 0xFF; // Enable interrupt
for ( i=0; i<0x30; i++); // Delay for reference start-up
ADC12CTL0 |= ADC12ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start sampling/conversion
}
