Hallo liebes Forum Team.
Ich habe ein kleines Problem ich versuche schon seit zwei Tagen den ADC
in gang zu gekommen aber meine versuche scheitern immer.
Vorab mein Code zum init. der ADU
1 | lds temp1,ADMUX
|
2 | cbr temp1, (1 << REFS1) //Interne AVcc
|
3 | sbr temp1, (1 << REFS0)
|
4 | sbr temp1, (1 << ADLAR)
|
5 | cbr temp1, (1 << MUX3) //ADU 0
|
6 | cbr temp1, (1 << MUX2)
|
7 | cbr temp1, (1 << MUX1)
|
8 | cbr temp1, (1 << MUX0)
|
9 | sts ADMUX, temp1
|
10 |
|
11 | lds temp1, ADCSRA
|
12 | sbr temp1, (1 << ADEN)
|
13 | cbr temp1, (1 << ADATE)
|
14 | cbr temp1, (1 << ADIE)
|
15 | sbr temp1, (1 << ADPS2) //128bit Pres.
|
16 | sbr temp1, (1 << ADPS1)
|
17 | sbr temp1, (1 << ADPS0)
|
18 | sts ADCSRA, temp1
|
nun lese ich die werte wie folgt aus.
1 | lds temp1, ADCSRA
|
2 | sbr temp1, (1 << ADSC) // Conv. Starten
|
3 | sts ADCSRA, temp1
|
4 |
|
5 | adu_read_in_wait:
|
6 | lds temp1, ADCSRA
|
7 | sbrc temp1, ADSC
|
8 | rjmp adu_read_in_wait //Warten bis ferig
|
9 | ldi temp1, ADCL
|
10 | ldi temp2, ADCH
|
11 | ... Auswertung
|
Ich habe an derm ersten Kannel ein Poti dran der als Spannungsteiler
arbeitet. Das Signal kommt auch am MCU an. Des weiteren habe ich laut
Datenblatt als minimalbeschaltung ein 100nF am Aref Pin. AVcc hängt an
Vcc.
Nun das Problem, ich kann an dem Poti drehen wie ich will es kommt immer
der gleiche Wert aus der ADU...
Da ich jetzt schon so lange auf den Code gucke sehe ich warscheinlich
den Fehler nicht mehr. Daher die Frage habt ihr eine Idee was schief
laufen könnte???
Gruß TNTBC