This commit is contained in:
Tristan Krause 2019-04-01 15:16:47 +02:00
parent 949591a50d
commit b6d0b4c8f5
29 changed files with 0 additions and 0 deletions
firmware

27
firmware/adu.cpp Normal file
View file

@ -0,0 +1,27 @@
#include "adu.h"
void ADU::init()
{
// externe Referenz an AREF
ADMUX = 0;
// ADC aktiviert, prescaler = 128
ADCSRA = _BV(ADEN) | _BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0);
}
uint16_t ADU::getValue(uint8_t channel)
{
// lege Kanal fest
ADMUX = (ADMUX & 0xE0) | channel;
// starte Konvertierung
ADCSRA |= _BV(ADSC);
// warte Konvertierungszeit ab
_delay_us(13 * 1000000 * 128 / F_CPU + 1);
// warte auf Ende
while(ADCSRA & _BV(ADSC));
return ADCW;
}