swhl 发表于 2020-5-20 21:51:50

Arduino的参考电压analogReference()

了解电压比较器的都应该知道,其有比较电压,即门阀值。Arduino的这个功能跟电压比较器差不多,而analogReference()则允许修改参考电压值。(应该属于Arduino的一大特色。)

analogReference():
功能:为模拟电压输入设置参考值;
形式:analogReference(type)
参数:type有以下几个选项:
DEFAULT: 默认参考值5v (在5V的 板子上 ) 或者 3.3 v(在3.3V 的Arduino板子上);
INTERNAL:内置参考值, 在 ATmega168 或者 ATmega328板子上为1.1v;在ATmega8 板子上为2.56v (在Arduino Mega板子上不可获得)。
INTERNAL1V1: 内置的1.1V 参考值 (只在Arduino Mega板子上有效 )
INTERNAL2V56: 内置的2.56V 参考值(只在Arduino Mega板子上有效)
EXTERNAL: 在AREF引脚加的电压 (0到5V)将作为参考值 。
返回值:none;
注:改变参考值的时候,刚开始的读数可能不准确。
不要用低于0v或高于5v的电压加在AREF引脚。如果使用加在AREF的外部电压作为参考那一定要在调用analogRead()之前设置analogReference为EXTERNAL,否则可能毁坏芯片。
也可以使用一个5千欧的电阻连接外部参考电压到AREF引脚,这样可以方便地在内外参考电压间转换,不过请注意电阻将改变原先你想要的参考值,因为在AREF引脚内部有个32千欧的内置电阻。这样两个电阻就可以分压了,例如:加的是2.5v,那么在AREF引脚的电压就是:2.5 * 32 / (32 + 5) = ~2.2V 。

msold5 发表于 2020-5-21 09:11:51

学到东西了,一下不知道有这个功能,谢谢讲解。
页: [1]
查看完整版本: Arduino的参考电压analogReference()