Danke für die Antworten!
Zitat Zitat von Moppi Beitrag anzeigen
Es kommt drauf an, welchen Sleep Mode Du möchtest, ...
In diesem Fall ist nur Timer2 angegeben, egal welcher Modus.
Zitat Zitat von Moppi Beitrag anzeigen
Beim ATmega328P steht auch nur Timer2. Ich verwende aber Timer1, der dann bei Überlauf einen Interrupt auslöst und auch zum Aufwachen führt.
Allerdings muss ich darauf achten, dass im jeweiligen Sleep-Mode dann der Timer1 auch aktiv ist.
Das gibt mir Hoffnung. Im Datenblatt des ATmega328P ist auch nur Timer2 angegeben.
Zitat Zitat von avr_racer Beitrag anzeigen
25µs versus 103µs bei 1Mhz
Mir gings nur darum, ob mein Gedankengang richtig ist.
Ob da noch vorne und hinten ein paar µs dazu kommen, darum gings nicht.
Aber danke für die exakte Erklärung!
Zitat Zitat von avr_racer Beitrag anzeigen
Ja ADLAR lässt den ADC auf 8Bit schrumpfen somit ist deine Auflösung 5V (AREF) / 256bits = 0,0195..V also 19,5mV pro Bit
2 Hundertstel Volt an Genauigkeit genügen mir. Wenn die Zehntel stimmen passt es schon.
Zitat Zitat von avr_racer Beitrag anzeigen
Diesen Wert deklarierst du dir als z.B: 195 in der Init und MULTIPLIZIERST du dir dann mit den im ADCH zu Verfügung stehenden BITS z.B.: mit 256 = 49920.
Dein Widerstandsteilerverhältnis ist 3:1 heißt 49920*3 = 149760 den Punkt richtig setzen und du hast deine 14.976V ohne geschönt zu haben.
Die Multiplikationen hatte ich ja auch schon im Kopf.
NUR: ein 16Bit Register (word) fasst nur bis 65535.
Laut Datenblatt wird das Ergebnis einer Multipikation in R1-R0 geschrieben = 16Bit.
Wie aber funktioniert diese Multiplikation: 49920*3 = 149760?
Wo soll 149760 gespeichert werden?
Oder hier:
177bits * 195(bits/V) = 34515(V) * Teiler 3 = 103545(V)
Da fehlt mir noch einiges an Wissen ...
Zitat Zitat von avr_racer Beitrag anzeigen
Wo hast denn die Routine her ?
Irgendwo aus dem Netz. Woher weiß ich nicht mehr.