From: tmk <hasu@tmk-kbd.com> Date: Tue, 2 Dec 2014 17:08:27 +0000 (+0900) Subject: Clean ADC code of battery_voltage() X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=25aee431bd83b46d694293c85a939d476943a5aa;p=qmk_firmware.git Clean ADC code of battery_voltage() --- diff --git a/keyboard/hhkb_rn42/rn42/battery.c b/keyboard/hhkb_rn42/rn42/battery.c index 720d63beb..3ecde5223 100644 --- a/keyboard/hhkb_rn42/rn42/battery.c +++ b/keyboard/hhkb_rn42/rn42/battery.c @@ -20,7 +20,6 @@ void battery_init(void) // Ref:2.56V band-gap, Input:ADC0(PF0), Prescale:128(16MHz/128=125KHz) ADMUX = (1<<REFS1) | (1<<REFS0); ADCSRA = (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); - ADCSRA |= (1<<ADEN); // digital input buffer disable(24.9.5) DIDR0 = (1<<ADC0D) | (1<<ADC4D) | (1<<ADC5D) | (1<<ADC7D); DIDR1 = (1<<AIN0D); @@ -92,23 +91,13 @@ uint16_t battery_voltage(void) PORTF |= (1<<4); volatile uint16_t bat; - //ADCSRA |= (1<<ADEN); - - // discard first result - ADCSRA |= (1<<ADSC); - while (ADCSRA & (1<<ADSC)) ; - bat = ADC; - - // discard second result - ADCSRA |= (1<<ADSC); - while (ADCSRA & (1<<ADSC)) ; - bat = ADC; + ADCSRA |= (1<<ADEN); ADCSRA |= (1<<ADSC); while (ADCSRA & (1<<ADSC)) ; bat = ADC; - //ADCSRA &= ~(1<<ADEN); + ADCSRA &= ~(1<<ADEN); // ADC disable voltate divider(PF4) DDRF |= (1<<4);