als referenzspannung der wandlung wird die spannung an Aref genommen, als eingang C0. deshalb muss man ADMUX hier nicht setzen.Code:ADCSRA=(1<<ADSC)| // start conversion (1<<ADEN)| // enable converter (1<<ADFR)| // free running (kontinuierliche wandlungen) (1<<ADPS2)| // prescaler bit2 (1<<ADPS1)| // prescaler bit1 (siehe datenblatt, S.208, hier clk/64) (1<<ADIE); // interrupt enable, nur notwendig, wenn du eine ISR hast
(1<<ADIE) kann evtl. weg, dann liegt dennoch das ergebnis der wandlung in ADCH (high byte) und ADCL (low byte).
mit ADMUX=(1<<ADLAR); hast du das ergebnis left adjusted, also liegt in ADCH ein wert von 0-255 (bei Vmess=Vref). damit hast du ohne bitschubserei eine 8bit wandlung, wenn du ADCL einfach vernachlässigst.
lies das datenblatt. der AD-wandler teil ist nicht schwierig.
gruesse






Zitieren

Lesezeichen