测量了一下电压 :VRH=4.95V.VRL=0.03V,VDDA=4.1V,VSSA=0V以前也是在这种电压状况下工作的,都没问题,今年天就不行了.
我用的是查询方式显示转换值,只有测电压才能显示,现在是只要我一给单片机上电,没让它测电压,它不停的在PC上输出0XFF,附上程序:
void Init_AD(void){
ATD1CTL2 = 0XC0; //AD模块上电,快速清零,无等待模式,禁止外部触发,中断禁止
ATD1CTL3 = 0X20; //每个序列4次转换, No FIFO, Freeze模式下继续转换
ATD1CTL4 = 0X83; //8位精度, 2个时钟, 时钟1.5MHZ
ATD1CTL5 = 0xA0; //右对齐无符号,单通道采样,通道0
ATD1DIEN = 0x00; // 禁止数字输入
}
查询方式采样:
if(ATD1CTL2_ASCIE == 0){
while(!ATD1STAT1_CCF0); //等待通道0转换结束
AD_Data = ATD1DR0;
SCI0_OutUHex(AD_Data); //在PC上打印转换值
SCI0_OutString("\n\r");
}
感觉好像是ATD1STAT1_CCF0一直为0,才出现这种情况,可我以前用这个程序咋就没问题呢?
|