hallo ich bekomme vom adc meines mega 32 keine vernünftgen werte (immer 25(dez)) ich habe einen 10k Trimmer an adc0 und vref an 5V initialisiert habe ich die register folgendermaßen(in asm): ADMUX: REFS1 und REFS2 = 0 gelassen(ext vref) ADCLAR auf 1 geschrieben(lese nur ADCH) ADCSRA: ADEN anf 1 geschrieben, den rest gelassen vor dem lesen: ->MUX0-4 auf 0 (ADC0) ->ADSC gesetzt und gewartet bis ADIF 1 ist nach dem Lesen:->Wert von ADCH eingelesen, in ziffern umgerechnet und über UART ausgegeben (Umrechnung und UART funktioniert, da einzeln getestet) ist die Vorgehensweise richtig oder weis jemand warum in ADCH immer 25 steht?? Gruß triple2448
Wie hast Du den Trimmer an ADC0 gehängt? Einfach von +VCC durch den Trimmer auf den ADC0 oder von +VCC zum Trimmer, einen Abgriff auf GND und den anderen auf ADC0 (einstellbarer Spannungsteiler)? MfG Andi
ein ende an vcc, das andere an gnd und den mittelabgriff an adc0 spannung also zwischen 0 und 5 V einstellbar (nur zum test, später sollen TSL250 licht-spannungswandler dran) was ist denn mit den eistellungen, sind die für eine einzelmessung ok? jede messung soll explizit eingeleitet werden, keine automatische, stetige abtastung gruß triple2448
Stell mal ADPS2:0 in ADCSRA auf 128 (0b111) ein. Läßt Du das auf 0 hast Du einen Prescaler von 2 was selbst bei 1MHz der CPU zu schnell ist für richtige Messwerte. Für exakte 8/10 Bit-Werte sollte der ADC mit max. 200KHz laufen. Ansonsten zeige doch mal Deinen Code. MfG Andi
das wars dankefür die schnelle hilfe - hatte einen 16MHZ Quarz, was das ganze nicht besser macht. werde wohl noch kondensator und spule an an AVCC hängen gruß triple2448
Noch ein Tip: Anstatt nach dem setzen von ADSC auf das ADC-Flag zu warten, kannst Du mit ADSC=0 im "Vorbeigehen" prüfen, ob eine Konvertierung fertig ist. Wenn ADSC = 1, dann das Auslesen und erneute Starten einer Konvertierung überspringen ansonsten auslesen starten und am besten in eine Variable schreiben (STS etc.) welche permanent oder im gewissen Rythmus ausgegeben wird. Das spart Dir viel Rechenzeit zum warten und es können andere Dinge erledigt werden. MfG Andi
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.