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.