0,0 → 1,36 |
/*############################################################################ |
|
############################################################################*/ |
|
#include "main.h" |
|
//############################################################################ |
//Init ADC |
void ADC_Init(void) |
|
{ |
ADCSRA = 0xA6; // Free Run & 1MHZ |
ADMUX = 0; // Kanal 0 |
ADCSRA |= 0x40; // Start |
} |
|
|
|
//############################################################################ |
//Strom Analogwerte lesen |
unsigned int getVcurr() |
|
{ |
ADMUX = 0 | 0xC0; // Kanal 0, interne Referenz |
SFIOR = 0x00; // Analog Comperator aus |
ADCSRA = 0xD3; // Converter ein, single |
ADCSRA |= 0x10; // Ready löschen |
ADMUX = 0 | 0xC0; // Kanal 0, interne Referenz |
ADCSRA |= 0x40; // Start |
while (((ADCSRA & 0x10) == 0)); |
ADCSRA = 0x00; |
SFIOR = 0x08; // Analog Comperator ein |
return(ADCW); |
} |
|
|