R8C watchdog

Postby chrisddd » Tue Oct 02, 2012 12:00 am

Le watchdog est un circuit qui permet de réveiller le composant en cas de plantage.

C'est en fait un timer qui, s'il arrive à terme, provoque un reset du composant (ou une interruption)

A des endroits stratégiques dans le programme, on place une instruction qui remet à zéro le watchdog. Si le programme entre dans une boucle infinie, il ne pourra plus réactiver le watchdog, celui-ci va arriver à son terme, et va provoquer un reset du composant.

Pour l'initialiser :

prc1 = 1;// Protect off
pm12 = 1;// action : reset µC (1 = reset, 0 = interrupt)
wdc7 = 1;// diviseur d'horloge ( 1 = par 128, 0 = par 16, soit 328 ms @ 20 Mhz)
wdts = 0;// launch watchdog


Pour remettre le watchdog à zéro :

wdtr = 0;

Cette dernière instruction est très importante et doit donc être exécutée régulièrement ( < tous les 328 ms dans notre cas).
chrisddd
 
Posts: 2
Joined: Fri Jan 17, 2014 4:38 pm

Return to R8C/13 (01-2006)

Who is online

Users browsing this forum: No registered users and 1 guest