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
Ersetze die letzte Zeile durch: sRES=ADC; lösche alle Zeilen, in denen sADCL oder sADCH vorkommt.
1 | ADCSRA = (1<<ADSC); |
Zweite Zuweisung zu ADCSRA löscht Erste, richtig wäre es so:
1 | ADCSRA |= (1<<ADSC); |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.