各位好:
我现在在用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 }