Operácie

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

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
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...
 
Balogh (diskusia | príspevky)
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;
}