AVR A/D example.c: Rozdiel medzi revíziami
Zo stránky 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...  | 
				Bez shrnutí editace  | 
				||
| 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 z 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;
}