TI中文支持网
TI专业的中文技术问题搜集分享网站

430f149的AD使用

void ADC12Init()
{
ADC12CTL0 &=~ENC; //一定要置0
ADC12CTL0=ADC12ON+SHT0_8+REFON+REF2_5V+MSC; // 3V3 GND REFON+REF2_5V可有可无
ADC12CTL1=ADC12SSEL_2+SHP+CONSEQ_2+CSTARTADD_1+SHS_0;
ADC12MCTL1=SREF_1+INCH_1+EOS; //电路正端接入3V3,负端接GND时必须不写SREF_1 ADC12IE=0X0002; //IE中断共16位
_EINT();}

#pragma vector=ADC_VECTOR
__interrupt void ADC12IRQ (void)
{ value=0;
for(AICnt=0;AICnt<5;AICnt++)
{
result[AICnt]=ADC12MEM1;
value=value+result[AICnt];
}
value=value/5;
//value=ADC12MEM1;
vout=(2.5/4096)*value;
R=((3.2-vout)/vout)*10;
ADC12CTL0 &=~ENC; //完成一组数据采集 关闭ADC
count=1;
}

P1.3设为输出高电平,P1.1设为输出低电平。P6.1位AD采集端口,用万用表测的电压为1.2V,但是程序测出是1.4V,将电路10K电阻连接P1.1的引脚连到GND上,测量结果就正确,这是什么问题

HG:

换两个大点的电阻试试,比如M级的

灰小子:

回复 HG:

io有内阻,会影响测量。另外,有时候低电平也不一定是gnd

ying jun hao:

回复 HG:

您的意思也是IO口有内阻?

HG:

回复 ying jun hao:

是的

赞(0)
未经允许不得转载:TI中文支持网 » 430f149的AD使用
分享到: 更多 (0)