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;
}