diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2025-08-17 11:34:04 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2025-08-17 11:34:04 +0800 |
| commit | 8bf93bfd50113ec09ec5cb231634527569c50c20 (patch) | |
| tree | 0f4702b7c622a6158581de7ff86efd9946602b8b | |
| parent | f32244351f8c95ef30f5c889cf859aa4f15b9b64 (diff) | |
| download | fpm-door-lock-8bf93bfd50113ec09ec5cb231634527569c50c20.tar.gz | |
Use 1.1V reference voltage.
| -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) |
