Forum: Compiler & IDEs ATTINY13 ADC zwei Kanäle aber einer ohne Funktion..


von Ronald N. (technikron)


Angehängte Dateien:

Lesenswert?

Hallo,

ich schaffe mich als Anfänger jetzt schon den ganzen Nachmittag an 
diesem Prog. Ich habe zwei Potis am ATTINY13 an ADC2 und ADC3. Es wird 
aber immer nur der Wert von einem Poti für beide Schleifen verwendet, 
das zweite bleibt ohne Wirkung??? Vielleicht ist mal jemand so nett und 
schaut mal mit weiteren zwei Augen  auf das Prog....

Ich benutze das AVR Studio, keine Fehlermeldungen, alles scheint gut zu 
sein.. Zu testen haben ich nur den Tiny mit zwei Potis, und ner LED am 
Ausgang.

Vielen Dank :-)

von Johannes M. (johnny-m)


Lesenswert?

Was soll das denn:
> time1=ADCW;
> time1=0;
> time1 = ADCH;
(speziell die ersten beiden Zeilen).

Wenn Du nur 8 Bit brauchst und ADLAR gesetzt ist, dann brauchst Du auch 
nur ADCH auszulesen. Und es ist Platzverschwendung, für zwei 
8-Bit-Variablen jeweils einen ganzen Integer zu reservieren.

Hast Du Dir eigentlich schon mal den ADC-Code aus dem Tutorial 
angeschaut?

von Ronald N. (technikron)


Lesenswert?

Hi,

jep hab ich. Es war nur ein weiterer Versuch für den Fall, dass ich doch 
das komplette Wort einmal auslesen muss. Auch das es jetzt zwei 
getrennte Funktionen sind, ist nur ein Versuch gewesen. Eigentlich hatte 
ich den ADC einmal initialisiert und dann beide Werte nacheinander 
ausgelesen. Aber egal wie, da ist der Wurm drinn und ich habe keine 
Lupe... :-(

Viele Grüße - Ronald

von Johannes M. (johnny-m)


Lesenswert?

>  ADMUX |=  (1 << ADLAR)|        // 8bit in ADCH
>  (1 << MUX0)|
>  (1 << MUX1);
Haste mal überlegt, was mit den aus der jeweils anderen Funktion von 
vorher noch gesetzten Bits in ADMUX passiert, wenn Du das mit einem |= 
schreibst? MUX0 bleibt in Deinem Programm bis in alle Ewigkeit gesetzt, 
so dass nach dem ersten mal nur noch ADC3 abgefragt wird. Lass das | weg 
(in beiden Fällen), dann sollte es klappen.

von Ronald N. (technikron)


Lesenswert?

Hi, ich habs geahnt... ein (zwei) Zeichen zuviel... Super, Danke, funzt 
:-)
Eine Frage noch zum Verständniss. Ich hätte das eine Bit aber auch 
wieder löschen können um zum gleichen Ergebnis zu kommen?

Also nochmal vielen Dank! Dann kann ich den ganzen Quatsch aus dem Code 
wieder rausnehmen..

Viele Grüße
Ronald

von Johannes M. (johnny-m)


Lesenswert?

Ronald Nehring wrote:
> Eine Frage noch zum Verständniss. Ich hätte das eine Bit aber auch
> wieder löschen können um zum gleichen Ergebnis zu kommen?
Hättest Du. Ist aber überflüssig.

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
Noch kein Account? Hier anmelden.