void main(void)
{ volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD;
i = 0;
P6SEL |= 0x08; // 使能ADC通道A3
ADC12CTL0 = ADC12ON+SHT0_15+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器,单通道多次转换
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
while(1)
{
Vbuffer=ADC12MEM0; //AD采样的结果
if(i==10)break;
}
}
就是一个简单的AD采样程序,选择6.3口作为转换通道,单通道多次转换的程序,但是ADC12MEM0采出来的值是完全不对的,请各位帮忙找找原因!!谢谢!!
不好意思粘漏了一行,循环部分是下面这样的:
while(1)
{
Vbuffer=ADC12MEM0; //AD采样的结果
i++;
if(i==10)break;
}