File source
#include "adc.h"
#include <fitkitlib>
/* read ADC on given channel (average of 4 samples)*/
unsigned int readADC(char ch){
P6DIR &= ~( 1 << ch);
ADC12CTL0 = ADC12ON | SHT0_15 | MSH | REFON | REF2_5V;
ADC12CTL1 = ADC12SSEL_2 | ADC12DIV_2 | CSTARTADD_0 | CONSEQ_1 | SHP;
// ref VSS to VCC, channel x, end of sequence
ADC12MCTL0 = SREF_0 | ch;
ADC12MCTL1 = SREF_0 | ch;
ADC12MCTL2 = SREF_0 | ch;
ADC12MCTL3 = SREF_0 | ch | EOS;
ADC12CTL0 |= ENC; // povoleni prevodu
ADC12CTL0 |= ADC12SC; // sample & convert
while (ADC12CTL0 & ADC12SC); // cekani na prevod
ADC12CTL0 &= ~ENC;
unsigned long result = ADC12MEM0;
result += ADC12MEM1;
result += ADC12MEM2;
result += ADC12MEM3;
result = result / 4;
return result;
}