eagle1979 发表于 2008-5-22 20:21:42

马老师,新书p441 #define dv 196 // 5V*10000/255 这句为什么不是5V*10000/256?

如题,而在P317 10位adc中是除以1024的,请马老师解释一下!我查了几本书,有的是除以1023,有的1024,把我都搞糊涂了!

machao 发表于 2008-5-23 16:57:52

正确的是1024.

以8位ADC,就应该是256.因为8位是从0-255,数字最大是255,但是分成了256个等分.但实际上,256需要2个字节表示,所以通常使用255,单字节.计算可以加快.对精度的影响不大(AD的检测值本身也有+-1的误差).

对于10位AD,反正是2个字节,理论上应该为1024(查看新版AVR原文手册),有人习惯了,用1023,区别不大.

eagle1979 发表于 2008-5-23 18:11:46

多谢马老师的详细解答!有这样的好老师,是我们学习avr人的福气!
页: [1]
查看完整版本: 马老师,新书p441 #define dv 196 // 5V*10000/255 这句为什么不是5V*10000/256?