Hallo zusammen, ich habe ein Problem mit dem ADC im Mega32 (DIL40-Gehäuse). Ich möchte an Port A6 (=ADC6) eine Spannung von 0...5V messen, die ich mit einem 2k2 Poti vorgebe. Also sehr einfach. 8-bit reichen mir, ich nutze den Modus mit "Left-Adjust". Der Wandler soll im Free-Running-Mode laufen, ich will dann vom Programm aus zu beliebigem Zeitpunkt spontan auf das Datenregister ADCH zugreifen wenn ich den Messwert brauche. Mein Problem: die Spannung liegt mit dem Multimeter messbar am Pin PA6 des Mega32 an, aber im Register ADCH steht immer nur 0x00. Auch die Pins AVCC und AREF liegen wie gewünscht messbar auf 5V. Den ADC initialisiere ich so: ADMUX =0x66; //Vref = AVCC, Left-Adjust, Channel=ADC6 single ended SFIOR =0x00; //freerunning mode ADCSRA=0x7F; //ADC enabled, ADC start,Auto Trigger, Int off,Prescaler=128 im Programm greife ich dann spontan auf das Register ADCH zu: unsigned char variable; variable=ADCH; Sieht jemand einen Fehler? Eigentlich kann man doch da nicht viel falsch machen... vielen Dank für alle Tips!! Paul
>vielen Dank für alle Tips!!
Wir bevorzugen vollständige compilierbare Codes.
Paul schrieb: > ADCSRA=0x7F; //ADC enabled, ADC start,Auto Trigger, Int deswegen gebraucht man für sowas nicht die Hexzahlendarstellung: Du aktivierst den ADC garnicht. (oberstes Bit setzen) ADCSRA = (1<<ADEN)| ...
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.