Operácie

AVR A/D example.c: Rozdiel medzi revíziami

Z SensorWiki

(Nová stránka: #include <avr/io.h> Analog/Digital Wandler initialisieren: void adc_init(void); int main(void) { unsigned int buffer; A/D - Wandler initialisieren: adc_init(); w...)
 
Riadok 1: Riadok 1:
 
+
<source lang="c">
 
#include <avr/io.h>
 
#include <avr/io.h>
  
Riadok 44: Riadok 44:
 
SFIOR = 0;
 
SFIOR = 0;
 
}
 
}
 +
</source>

Verzia zo dňa a času 22:58, 30. november 2008

#include <avr/io.h>

/* Analog/Digital Wandler initialisieren */
void adc_init(void);


int main(void)
{

	unsigned int buffer;

	/* A/D - Wandler initialisieren */
	adc_init();

	while (1)
	{

		/* Wandlung starten */
		ADCSRA |= (1<<ADSC);

		/* Warten bis die AD-Wandlung abgeschloßen ist */
		while ( !(ADCSRA & (1<<ADIF)) )
			;

		/* AD-Wert auslesen */
		buffer = (ADCH<<8) | ADCL;

	}

}

/* Analog/Digital Wandler initialisieren */
void adc_init(void)
{

	/* externe Referenzspannung und AD-Wandlerkanal 0 ( ADC0 ) auswählen */
	ADMUX = 0;

	/* AD-Wandler einschalten und Prescaler = 64 einstellen ( enstpricht 115 khz Wandlertakt ) */
	ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);

	/* Spezialfunktionen ausschalten */
	SFIOR = 0;
}