Decada - 17

Modul de somn, ieșire din acesta, supraveghetor

Sleep și Powerdown sunt de obicei utilizate atunci când dispozitivul este deconectat, când controlerul este în gol și pierde energie. Este perfect rezonabil să-și suspende munca pentru acest moment.
AT90S2313 poate dormi în două moduri:
- Comanda Idle. Oprește ceasul, dar UART, întreruperile externe și întreruperile temporizatorului / contorului continuă să funcționeze. Toate acestea deduce microcontrolerul din modul sleep.
- Comanda Powerdown oprește ceasul, dar numai întreruperile externe continuă să funcționeze.

Să luăm în considerare un exemplu de lucru cu modul Powerdown și ieșirea din el:
powerdown.bas După ce controlerul clipește LED-ul și scrie un mesaj pe ecranul LCD, Powerdown o va pune în starea de repaus.
Apăsând butonul pe Int0 se va trezi.

Agent de supraveghere (watchdog)

Bascom vă permite să implementați funcția de wattdog în program. Vatchdog este o funcție care resetează controlerul în cazul în care programul începe să se blocheze sau să se blocheze. De fapt, este un timer care trebuie să fie resetat în mod regulat. Dacă programul se blochează, nu resetează contorul din nou. Odată ce este plină, apare o resetare hardware a controlerului. Această funcție este necesară în aplicații în care stabilitatea este critică și dispozitivul trebuie să funcționeze, indiferent de ce se întâmplă.
Firește, programul de controler trebuie să interacționeze cu ceasul wattdog-ului. Declanșarea acesteia este o situație serioasă, care poate fi cauzată atât de funcționarea defectuoasă a programului, cât și de echipament. În orice caz, dacă utilizați un watchdog, aveți grijă de sistemul de înregistrare a erorilor, în caz contrar riscați să nu știți niciodată cauza eșecului. Și este puțin probabil că nu se va mai întâmpla.
Wetdog este configurat după cum urmează: În intervalul de la 16 la 2048 ms.
Contorul trebuie resetat în mod continuu înainte de depășire: Pentru a preveni o resetare hardware.
Vatchdog poate fi pornit sau oprit la momentul potrivit: Dar se pare că prezența comenzii Stop Watchdog trasează numai ideea utilizării sale.
AT90S2313 utilizează un generator de ceas separat de 1 MHz încorporat în chip. Nu este foarte precis, deci întârzierea cu temporizatorul poate varia ușor.
Iată un exemplu de funcționare forțată a unui temporizator:
watchdog.bas După comanda Start Watchdog, controlerul este trimis în modul Repaus, oprind ceasul. Deoarece WatchDog lucrează la un generator de ceas independent, acest comportament nu se potrivește și generează o resetare hardware forțată în aproximativ 2 secunde.

Doriți să cumpărați tutun pentru shisha?

Versiunea CMS 3.0.0 de Demson