Go Down

Topic: Software / Watchdog e risparmio energetico ATtiny85 (Read 3930 times) previous topic - next topic

leo72

Appunto, disattiva i moduli che NON ti servono.
Se fai le cose bene, puoi agganciare i 2 PWM allo stesso timer. Usando il timer 0, hai OCR0A sul pin D0 e OCR0B sul pin D1.
A questo punto puoi disattivare tutto il resto che non ti serve: Timer 1, USI e ADC.

Puoi fare tutto con un'unica istruzione:
Code: [Select]
PRR |= ((1<<PRTIM1) | (1<<PRUSI) | (1<<PRADC));

per riattivare:
Code: [Select]
PRR &= ~((1<<PRTIM1) | (1<<PRUSI) | (1<<PRADC));

Sul perché e sul come ti rimando alla lettura del datasheet dell'Attiny85, capp 7 e nello specifico 7.5.2 per i flag del registro di riduzione dei consumi.
Ah, altra cosa. Prima di togliere il clock all'ADC, esso andrebbe disattivato con:
Code: [Select]
ADCSRA &= ~(1<<ADEN);
(datasheet cap. 17.13.2)

jazzmaster

Interessante, appena riesco (causa lavoro sti giorni vado a rilento.-.) mi do una letta a quei paragrafi! Grazie ancora, davvero.

Go Up