avr ad转换的问题

uintADC_Convert(void){uinttemp1,temp2;temp1=(uint)ADCL;temp2=(uint)ADCH;temp2=(temp2<... uint ADC_Convert(void)
{uint temp1,temp2;
temp1=(uint)ADCL;
temp2=(uint)ADCH;
temp2=(temp2<<8)+temp1;
return(temp2);
}
/**************************/
uint conv(uint i)
{
long x;
uint y;
x=(5000*(long)i)/1023;
y=(uint)x;
return y;
}
adc_val=ADC_Convert();
dis_val=conv(adc_val);
这几句程序的意思是什么时候啊?
展开
 我来答
陈学阳
2010-10-16 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5589万
展开全部
当然不是整数,理解有问题
比较说ATmega8它的技术资料参数:
PDIP封装 8 路 10位ADC
AD是10位的,那么它将基准为5V的电压分为1024份,精度就很高了。

专业说法:
一个n 位的单端 ADC 将GND 与VREF 之间的线性电压转换成2n 个(LSBs) 不同的数字量。最小的转换码为0,最大的转换码为2n-1。

你可以仔细看一下AVR芯片的datasheet

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式