Hallo Die Geschichte mit dem free running hat sich geklärt, und nun klemme ich schon beim nächsten Problem: Der ADC-Interrupt wird stetig aufgerufen, jedoch kommt dabei immer der nach dem Reset anliegende Wert heraus - egal wie ich die zu messende Spannung ändere (Poti). Ich stelle also eine bestimmte Spannung am Pin ein, resette den AVR, der ruft 'free running' den ADC-Interrupt auf, wo ich den (vermutlich korrekten) Wert erhalte. Dann drehe ich am Poti, ohne dass sich der Wert jetzt ändern würde. Es scheint also, als würde genau einmal gemessen und dann nur noch der Interrupt aufgerufen. Vorschläge, woher das kommen könnte? Gruss Michael PS: Ich denke, ein neuer Thread ist gerechtfertigt, da dieses Problem ja absolut nichts mit der Simulator-Frage zu tun hat.
Na toll. Mal auf gut Glück den Prescaler geändert und siehe da, es funktioniert einwandfrei. Mit dem Prescaler 7 bzw 1/128 scheint irgend etwas nicht zu stimmen, obwohl im Datenblatt alle Prescaler von 1/2 - 1/128 aufgeführt sind. Betrifft übrigens den Mega88.
Ich muss mich korrigieren, der Fehler lag bei mir: ADCH und ADCL müssen natürlich in der richtigen Reihenfolge gelesen werden, ansonsten kann der ADC keinen neuen Wert hineinschreiben. Bei gewissen Prescalern hat das Timing dann halt insofern gepasst, dass es funktionierte.
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.