Watchdog
Moderators: pedja089, stojke369, [eDo], trax
Watchdog
Što je to programibilni watchdog kod AT89S8253?
http://land1.blog.hr" onclick="window.open(this.href);return false;
I like software and hardware
My hobbies are PHP programmering, PCB creating and C++ 3D progrmming
http://www.speedtest.net/result/698562022.png" onclick="window.open(this.href);return false;
I like software and hardware
My hobbies are PHP programmering, PCB creating and C++ 3D progrmming
http://www.speedtest.net/result/698562022.png" onclick="window.open(this.href);return false;
-
- Penjem se :)
- Posts: 58
- Joined: 23-02-2005, 14:13
- Location: Hrvatska - Cakovec
- Contact:
Svaki program za mikrokontroler se obićno sastoji od:
1. inicijalizacije
2. interupt rutina
3. glavne petlje / koja se vrti u krug ovisno o događajima
4. raznih potprograma koji se pozivaju iz glavne petlje ili interupt rutina
E sad kako svi programi rade dobro (upravo ono što smo napisali ali ne uvijek i ono što smo željeli da radi )
npr.
čekamo ispunjenje uvijeta koji se nikad neće ostvariti
SETB cekaj (koji smo zaboravili u nekakvim rutinama resetirati)
JB cekaj,$ (program se ovdje beskonačno vrti)
ili čekamo da po UART-u primimo 5 byta a stigla su samo 4.
U ovakvim slučajevima možemo koristiti WatchDog da koliko toliko spasimo stvar na sljedeći naćin:
u glavnu petlju ubacimo
main: mov 0A7H,#11101011B ;WDOG reset 2048ms
;
;ostali dio glavne petlje
;
jmp main
što će aktivirati reset svakih cca 2s ukoliko unutar tog vremena program ne prođe kroz glavnu petlju. S gornja tri bita definira se vrijeme od 16 do 2048 ms.
Nadam se da sam ti uspio pojasniti ako što još treba pitaj.
Evo i linka gdje imaš dodatna pojašnjenja:
http://www.mikroe.com/en/books/8051book/ch4/#ch4.5
1. inicijalizacije
2. interupt rutina
3. glavne petlje / koja se vrti u krug ovisno o događajima
4. raznih potprograma koji se pozivaju iz glavne petlje ili interupt rutina
E sad kako svi programi rade dobro (upravo ono što smo napisali ali ne uvijek i ono što smo željeli da radi )
npr.
čekamo ispunjenje uvijeta koji se nikad neće ostvariti
SETB cekaj (koji smo zaboravili u nekakvim rutinama resetirati)
JB cekaj,$ (program se ovdje beskonačno vrti)
ili čekamo da po UART-u primimo 5 byta a stigla su samo 4.
U ovakvim slučajevima možemo koristiti WatchDog da koliko toliko spasimo stvar na sljedeći naćin:
u glavnu petlju ubacimo
main: mov 0A7H,#11101011B ;WDOG reset 2048ms
;
;ostali dio glavne petlje
;
jmp main
što će aktivirati reset svakih cca 2s ukoliko unutar tog vremena program ne prođe kroz glavnu petlju. S gornja tri bita definira se vrijeme od 16 do 2048 ms.
Nadam se da sam ti uspio pojasniti ako što još treba pitaj.
Evo i linka gdje imaš dodatna pojašnjenja:
http://www.mikroe.com/en/books/8051book/ch4/#ch4.5
pretpostavljam da te mogućnosti AT89C2051 nema
http://land1.blog.hr" onclick="window.open(this.href);return false;
I like software and hardware
My hobbies are PHP programmering, PCB creating and C++ 3D progrmming
http://www.speedtest.net/result/698562022.png" onclick="window.open(this.href);return false;
I like software and hardware
My hobbies are PHP programmering, PCB creating and C++ 3D progrmming
http://www.speedtest.net/result/698562022.png" onclick="window.open(this.href);return false;