adc.setRange(adc.ADC_RANGE_MIN) -- 当被测量电压最高值在3.6v以上时, 推荐使用 ADC_RANGE_MIN,且必须添加外部分压电路; -- 设置ADC引脚的测量范围0-3.6V,这种方式被测电压不可经过外部电阻分压后再挂在ADC上; adc.setRange(adc.ADC_RANGE_MAX) if adc.open(2) then -- 打开adc通道2,并读取 通道id,从0开始;以Air780EPM 为例,ADC共 0-3四个硬件通道,ADC0通道ID为0,ADC1通道ID为1, ADC2通道ID为2,ADC3通道ID为3 log.info("adc", adc.get(2)) -- 返回电压值; end adc.close(2) -- 若需要持续读取, 则不需要close, 功耗会高一点. adc.setRange(adc.ADC_RANGE_MIN) adc.open(2) local data = adc.get(2) adc.close(2) log.info("adc读出值", data) -- 此时读取的data值即为ADC电压值,但不是外部被测电压的实际值,外部电压的实际值需要再根据外部电压的分压比例进行换算; -- 由于外部分压电阻的精度客观上存在误差,因此经外部电压的分压比换算而来的外部电压值可能与实际值存在一定的误差;