PIC12F629 režim sleep

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
markoni
Příspěvky: 2310
Registrován: 30 říj 2006, 01:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

PIC12F629 režim sleep

#1 Příspěvek od markoni »

Zdravím
Lze tento mcu uvést do spánku a nastavit jeho automatické probuzení po určité době pracovní napětí 3 V ?nechce se mi procházet datasit :oops: díky

Uživatelský avatar
radek89
Příspěvky: 135
Registrován: 25 říj 2009, 02:00
Bydliště: Mor. Nová Ves, Břeclav
Kontaktovat uživatele:

#2 Příspěvek od radek89 »

Pokud myslis probuzeni pri zmene napajeni na 3V, muzes k tomu pouzit vestaveny komparator.

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#3 Příspěvek od petrfilipi »

Myslím, že Markoni zapomněl na čárku mezi slovy "době" a "pracovní".

PF

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#4 Příspěvek od Mahoney »

9.7.1
WAKE-UP FROM SLEEP
The device can wake-up from Sleep through one of the
following events:
1.
External Reset input on MCLR pin
2.
Watchdog Timer Wake-up (if WDT was enabled)
3.
Interrupt from GP2/INT pin, GPIO change, or a
peripheral interrupt.
Takže nemůžeš nastavit vnitřní časovač, můžeš si buď připojit nějaký vnější na INT pin, nebo na nějaký GPIO pin, pokud si zapneš přerušení při změně.
9.6.1
WDT PERIOD
The WDT has a nominal time-out period of 18 ms, (with
no prescaler). The time-out periods vary with
temperature, VDD and process variations from part to
part (see DC specs). If longer time-out periods are
desired, a prescaler with a division ratio of up to 1:128
can be assigned to the WDT under software control by
writing to the OPTION register. Thus, time-out periods
up to 2.3 seconds can be realized.
Když máš interní oscilátor, můžeš nastavit WDT a případně předděličku k němu. Perioda WDT je 18 ms, když si nastavíš WDT + předděličku, tak 2.3 s, to je maximum. To samozřejmě platí při interním oscilátoru na 4 MHz. Bohužel blíže nepíšeš, v jaké konstrukci a za jakých podmínek MCU uspáváš (např. napájíš to z baterek? Jaký je požadovaný interval? Musí být interval probuzení přesný? Co všechno má MCU zařídit, než zase usne?) a co je účelem té konstrukce, takže těžko dál poradit něco bližšího… jako např. "kdyby stačila nižší taktovací frekvence MCU - RC oscilátor nebo INTOSC na 31kHz - dostal by ses i na delší časy" a podobně. Kdybys měl externí oscilátor na OSC1, můžeš si nastavit krom těch jmenovaných zdrojů i Timer0 (což by asi mělo fungovat i při použití RC oscilátoru, jestli to dobře chápu, ale nejsem si tím jistý, nutno zkusit), ovšem přínos toho není moc velký, protože WDT a TMR0 se přetahují pořád o tu stejnou předděličku, dle konfigurace (viz registr OPTION_REG a bit PSA).

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“