diff options
| -rw-r--r-- | main.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -100,11 +100,11 @@ static inline void flash_led(void) } } -static inline uint16_t get_bat_volt(void) +static inline uint16_t getbat(void) { uint16_t vbg; - ADMUX |= (1 << REFS0); + ADMUX |= (1 << REFS1) | (1 << REFS0); ADCSRA |= (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1); /* clk: 50-200 kHz */ // https://www.sciencetronics.com/greenphotons/?p=1521 @@ -115,11 +115,11 @@ static inline uint16_t get_bat_volt(void) ; ADCSRA &= ~(1 << ADEN); - vbg = 3300UL / 1024 * ADC - + vbg = (1100UL * ADC) / 1024; ADCSRA &= ~(1 << ADEN); - return vbg * 3; + // 56k/10k voltage divider + return (vbg * 66) / 10; } int main(void) |
