Autor Tema: Para los que "ni idea de como meter el WDT " en C  (Leído 1679 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado piktron

  • PIC10
  • *
  • Mensajes: 4
Para los que "ni idea de como meter el WDT " en C
« en: 06 de Junio de 2007, 14:41:27 »
Saludos pioneros de los micros.

Abri este tema para los que apenas y digo "apenas" estan empezando conocer C, pues bien yo soy uno de los que no conocen muy bien aunque trabajo en eso checando libros y en especial este foro que por cierto "esta muy bueno". y gracias a los masters de RedPic,maunix,Cryn,Palitroquez, elmasvital, bueno si le sigo no acabo, en fin, este foro enseña a lo grande.
 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
Pues bien quiero dar conocer el poquito de experiencia que llevo pues pa empezar a abonar algo de conocimiento y quisiera que los demas hicieran lo mismo o agregar algo mas.

Mi problema era el siguiente a mi programa le queria insertarle lo que era el Watch dog timer aunque ni idea de como ingresarlo o manipularlo. Hasta que estube jugando un rato con el CCS, y llegue a una pantalla donde (hacer un proyecto) me indicaba un pequeño recuadrito que si "limpiaba el WDT en la llamada de retardo" lo cual me facilitaba al llamar a los retardos grandes y otra pantalla me decia que si queria habilitar el WDT y me mostraba unos determinados tiempos para hacerlo, la verdad yo no sabia eso y no se si se le pueden asignar otros tiempos pero, almenos con estos datos pude realizar mi programa ingresandole el WDT.

///
.....
#include <16f84a.h>              //pic a utilizar
#fuses XT,WDT,NOPROTECT,PUT    //ordenes para el programador, aqui lo habilito
#use delay (clock=4000000,RESTART_WDT)       //Fosc=4Mhz y ademas eso indica que limpia el WDT dentro del delay
#int_ext

y el WDT lo asignan en el main() asi...

/////
.....
void main(void)

{
   setup_wdt(WDT_36MS);      //aqui dice en que tiempo se habilita el WDT
   enable_interrupts(int_ext);  //activar interrupcion externa
   ext_int_edge(L_TO_H);        //configuracion:int. cuando el nivel es alto
   enable_interrupts(GLOBAL);   //todas las interrupciones desactivadas
while(TRUE) { ......

Ahora como yo me lo imagino se debe colocar un..

restart_wdt();

en alguna parte el programa que, se lleve un tiempo antes del asignado(anteriormente) en el WDT, para poder limpiarlo y no reiniciar todo.
Ademas, como ya asignaste limpiar durante el delay no importa si el delay es muy grande....

////
.......

        output_high(PIN_A0);
        delay_ms(15000);         //aqui adentro se limpia el WDT
        output_low(PIN_A0);
......

Pues es algo de lo que ahorita conosco. Si estoy mal porfa diganmelo y estoy bien que bueno ya e aportado algo.
Ojala que esto ayude a los principiantes como yo y les agradeceria que aportaram mas de este tema para agrandar los conocimientos.

¡..y que sigan aprendiendo en el foro...! :o 8)
EL QUE BUSCA ENCUENTRA..... sino siguele buscando

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17506
    • MicroPIC
Re: Para los que "ni idea de como meter el WDT " en C
« Respuesta #1 en: 07 de Junio de 2007, 03:28:41 »
Magnífico tu arranque en el foro,Piktron. Bienvenido y muchas gracias.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Para los que "ni idea de como meter el WDT " en C
« Respuesta #2 en: 07 de Junio de 2007, 13:19:32 »
BIENVENIDO piktron!!! yo no use el WDT por ahroa, y no sabia algunas cosas que mencionaste en tu explicación y codigo, solo sabia que el wdt te resetea si se desborda, muchas gracias por el aporte, sin duda que crecerá con los aportes de los qeu han manipulado al WDT, pues mucha suerte y exitos con los PICs, y sigue con el entusiasmo de aprender, que para eso estamos para aprender y compartir, un saludo adios!
.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5429
    • Electrónica Didacta
Re: Para los que "ni idea de como meter el WDT " en C
« Respuesta #3 en: 07 de Junio de 2007, 17:01:49 »
pués yo me considero que estoy en pleno aprendizaje, y como tal, principiante en unos cuantos topicos.

gracias por tu aporte piktron

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado frammchavez

  • PIC10
  • *
  • Mensajes: 1
Re:Para los que "ni idea de como meter el WDT " en C
« Respuesta #4 en: 12 de Septiembre de 2017, 13:00:38 »
HOLA,
Tengo un inconveniente,
quise seguir tu ejemplo pero usando el pic 16f877a
Tengo problemas con:

setup_wdt(WDT_2s);

No me lo puede compilar.
Que podria ser?.

Y si, si puse el Fuse y demas.

Saludos cordiales.
Franco Chavez