TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: egds en 04 de Marzo de 2005, 17:46:00

Título: watch dog en PBP aplicación en procesos criticos
Publicado por: egds en 04 de Marzo de 2005, 17:46:00
Hola,

Pues eso, quiero que alguien me explique bien el funcionamiento en PBP del watch dog. He leido por ahi en foros ingleses que el PBP actúa automáticamente, pero no estoy seguro. Yo querría ajustar el prescaler al máximo para poder refrescarlo cada 2,3 segundos, ya que mi aplicación es crítica porque tiene que tener la capacidad de funcionar sola y sí se cuelga se resetée automaticamente.

Como se configura el watch dog en PBP, por favor ayuda!

Gracias.-
Título: RE: watch dog en PBP aplicación en procesos criticos
Publicado por: RGL en 08 de Marzo de 2005, 07:05:00
En PBP puedes hacerlo funcionar automático o manual.

Si quieres que PBP te refresque el wD, tienes que eliminar de tu código la línea
DEFINE NO_CLRWDT 1 "Forces manual use of CLRWDT

Entonces el compilador te hace el solito los CLRWDT  repartidos por el código.

Si los quieres poner a mano pues pones la línea esa y tu distribuyes  los CLRWDT  cuando tu creas conveniente.

Tambien tienes que activar el FUSE de WD a on.

Por otra parte, para cambiar los tiempos se WD tienes que ir al registro OPTIONREG al bit PSA y asignas el preescaler al WD. En el mismo registro pero los bit PS2:PS0 metes el valor correspondiente al tiempo que quieres (000 hasta 111), para la máxima cuenta posible.

Creo que con esto es suficiente.

Saludos,
Ricky