Gast
#670398
Hallo zusammen! Befasse mich zum ersten mal mit dem ADC des Mega88 und habe dazu einige Fragen: Ich möchte bei jedem Zählerüberlauf im Counter0 einen Messwert an einem bestimmten PIN des µC einlesen lassen. Dazu habe ich bereits aus dem Datenblatt entnommen, dass ich im ADC dies einstellen kann und bei jedem Zählerüberlauf der ADC den Wert misst. Nur funktioniert das bei mir nicht. Mir ist aufgefallen, dass wenn ich z. B. mit lds r16, (1<<ADEN)|(1<<ADATE)... sts ADCSRA, r16 keine Bits im jeweiligen Register gesetzt bekommen. Scheint so als würden meine Befehle im Sande verlaufen und nicht berücksichtigt. Wenn ich per Hand das ADEN und ADSC bit setze bekomme ich sofort den richtig gemessenen Wert. Aber alle anderen bits die ich in ADCSRA vorher gesetzt habe erscheinen nicht. Hier mal mein bisheriger Code. Ist nur die Initialisierung. Müsste ja dann wenn der Interrupt ausgelöst wird in einer Schleife die Werte noch sichern, oder? lds r16, (1<<REFS0) sts ADMUX, r16 lds r16,(1<<ADEN)| (1<<ADATE)|(1<<ADPS2) | (1<< ADPS1)|(0<<ADPS0) sts ADCSRA, r16 lds r16, (1<<ADTS2)|(1<<ADTS2)|(1<<ADATE) sts ADCSRB, r16 So müsste doch eigentlich alles passen, oder? Mehr habe ich dem Datenblatt bisher nicht entnehmen können. Vielen Dank schon mal für jede Anregung!! gruss p.s. der zähler läuft richtig und aktiviert.