Snippet readVcc

long readVcc() {
  long result;

  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  delay(2); // Wait for Vref to settle

  // Set ADEN in ADCSRA to enable the ADC.
  ADCSRA |= _BV(ADEN);

  ADCSRA |= _BV(ADSC); // Convert take 25 clock puis 13 clock
  while (bit_is_set(ADCSRA,ADSC)) ;
  result = 1126400L / ADCW ; 
  return result;
}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *