Answers:
大多数(全部?)带有ADC的AVR具有内部基准电压,该电压被调节为恒定值,与电源电压无关。检查您的数据表...在我使用的芯片中,它是2.56V。在比较Vcc,AREF或内部参考电压之间有一个寄存器可供选择。您只需将其设置为与内部基准电压进行比较,并使用分压器,以使最大电压永远不会超过2.56V。
如果您的Arduino不支持测量内部带隙基准,请使用外部基准。
输入引脚上的电压将通过参考二极管保持恒定,但您读取的值将根据电源而变化,因为ADC均参考电源。例如,如果您的基准电压为1.0 V,并且ADC读取1024中的512,那么您知道电压轨为2V。