Datum:
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:
Ersetze die letzte Zeile durch: sRES=ADC; lösche alle Zeilen, in denen sADCL oder sADCH vorkommt.
Datum:
ADCSRA = (1<<ADSC); |
Zweite Zuweisung zu ADCSRA löscht Erste, richtig wäre es so:
ADCSRA |= (1<<ADSC); |