Hallo zusammen. Ich baue gerade eine Steuerung, die an eine Batterie betrieben wird. Deswegen will ich den µC in Schlaf Modus (Power-down) versetzen wenn er nicht gebraucht wird. Der Schlaf Modus wird durch externes Interrupt unterbrochen. Unter anderen hat der µC eine Aufgabe Spannung zu messen. Meine Frage ist, wie schaltet man am besten den ADC aus? Mit: ACSR = 0x80; Oder: ADCSRA &=~ (1<<ADEN); Im Datenblatt habe ich gelesen dass setzen des Register ACD im ACSR auf log.1 führt dazu das die Versorgung Spannung des ADC unterbrochen wird. Wird dann der ADC wieder aktiv wenn ACD auf log.0 gesetzt wird? Betanke mich im Voraus!
V.S. schrieb: > Betanke mich im Voraus! Womit betankst du dich? > Meine Frage ist, wie schaltet man am besten den ADC aus? Beim Tiny85 mache ich das so:
1 | ADCSRA |= (1 << ADEN); // ADC einschalten |
2 | bzw. |
3 | ADCSRA &= ~(1 << ADEN); // ADC ausschalten |
Dann schlafen legen und per z.B. INT0 wieder aufwecken. Zur Sicherheit mache ich nach dem Reaktivieren des ADC einen Dummyaufruf, bevor ich die Nutzwert lese.
Nachtrag: ACSR hat ja mit dem AD-Wandler nichts zu tun - es steuert den Komparator. Mit der Verwendung von ADEN bist du auch unabhängig davon, wo der aktuell verwendete Prozessor das Bit hingemappt hat. Müsste ja nicht immer gleich sein.
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.