Datum: 03.07.2009 18:33
Hallo !
Ich versuche seit mehreren Stunden eine A/D Wandlung (ATtiny25) durch zu
führen ! Leider hatte ich bisher keinen Erfolg.
Mein Codeschnipsel:
/* ADC */
outp(0x00, DDRB);
unsigned char sADCH = 0;
unsigned char sADCL = 0;
unsigned short sRES = 0;
unsigned char SlotID = 0;
ADCSRA = (1<<ADPS0) | (1<<ADPS1) | (1<<ADPS2) | (1<<ADEN);
ADMUX = (1<<MUX1);
ADCSRA = (1<<ADSC);
while ( ADCSRA & (1<<ADSC) ) {
;
}
sADCL = inp(ADCL);
sADCH = inp(ADCH);
sRES = sADCL + sADCH * 256;
Egal welche Spannung ich nun an PB4(ADC2) anlege, sRES ist immer gleich
0 !
Ich hoffe das mir von euch jemand sagen kann, was ich falsch mache !
S.Dierking
Datum: 03.07.2009 18:43
Ersetze die letzte Zeile durch: sRES=ADC; lösche alle Zeilen, in denen sADCL oder sADCH vorkommt.
Datum: 03.07.2009 18:49
ADCSRA = (1<<ADSC); |
Zweite Zuweisung zu ADCSRA löscht Erste, richtig wäre es so:
ADCSRA |= (1<<ADSC); |