diff --git a/components/drivers/misc/adc.c b/components/drivers/misc/adc.c index 4a580b32806..c07ef6e6116 100644 --- a/components/drivers/misc/adc.c +++ b/components/drivers/misc/adc.c @@ -184,7 +184,7 @@ rt_int16_t rt_adc_voltage(rt_adc_device_t dev, rt_int8_t channel) /*read the value and convert to voltage*/ dev->ops->convert(dev, channel, &value); - voltage = value * vref / (1 << resolution); + voltage = value * vref / ((1 << resolution) - 1); _voltage_exit: return voltage; @@ -285,6 +285,7 @@ static int adc(int argc, char **argv) rt_kprintf("adc read - read adc value on the channel\n"); rt_kprintf("adc disable - disable adc channel\n"); rt_kprintf("adc enable - enable adc channel\n"); + rt_kprintf("adc voltage - read voltage on the channel\n"); result = -RT_ERROR; }