Autor Tema: Ayuda con wdt  (Leído 2397 veces)

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

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Ayuda con wdt
« en: 23 de Mayo de 2014, 15:07:14 »
Hola amigos soy nuevo en este foro, espero pronto empezar a aportar, me dirijo a ustedes con el siguiente problema: estoy haciendo un programita en ccs pero curiosamente el wdt no se activa, me doy cuenta por que al inicio del programa un led parpadea 3 veces y en ninguna parte del codigo borro el wdt y si el wdt se activar deberia estar flasheando constantemente ese led, uso la siguiente directiva:
Código: [Seleccionar]
#include <16F877A.h>
#FUSES HS, PUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#FUSES WDT
Alguien me puede decir que hago mal o que me falta hacer?
Saludos desde mexico

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Ayuda con wdt
« Respuesta #1 en: 23 de Mayo de 2014, 15:17:37 »
Un par de cositas, puede que el wdt ya se te este actuando, en el código no indicas cual es el tiempo en el que el perro guardián debe de resetear el pic, esto lo puedes hacer con la función setup_wdt().Sí no le indicas al compilador el tiempo, puede que este tiempo sea inapreciable y antes de que encienda el led te resetee el pic
Otra cosa que veo es que repites la configuración del wdt y nowdt en los fuses, el primero lo habilita y el segundo lo deshabilita
a lo mejor también viene de ahí el problema
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #2 en: 23 de Mayo de 2014, 15:27:21 »
Un par de cositas, puede que el wdt ya se te este actuando, en el código no indicas cual es el tiempo en el que el perro guardián debe de resetear el pic, esto lo puedes hacer con la función setup_wdt().Sí no le indicas al compilador el tiempo, puede que este tiempo sea inapreciable y antes de que encienda el led te resetee el pic
Otra cosa que veo es que repites la configuración del wdt y nowdt en los fuses, el primero lo habilita y el segundo lo deshabilita
a lo mejor también viene de ahí el problema
amigo no veo en que parte del codigo estoy desactivando el wdt en la siguiete directiva lo estoy hailitando y en cuanto a lo otro te refieres a algo como esto:
#use delay (clock=32000, RESTART_WDT)
por que al ponerlo me tira error de compilacion
« Última modificación: 23 de Mayo de 2014, 15:30:54 por jluisruelas »

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #3 en: 23 de Mayo de 2014, 16:36:35 »
Lo raro es que los quiero poner manual y al compilar vuelve a desactivarse el wdt

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Ayuda con wdt
« Respuesta #4 en: 23 de Mayo de 2014, 17:32:30 »
Estoy con el móvil y me había dado la impresión que ponía NOWDT en vez de NOWRT
has mirado en la ayuda del ccs lo de setup_wdt()?

debes añadir la funcion setup_wdt() dentro del main, entre los parentesis agregar una de las siguientes opciones:
WDT_18MS   
WDT_36MS     
WDT_72MS       
WDT_144MS       
WDT_288MS       
WDT_576MS       
WDT_1152MS     
WDT_2304MS 
« Última modificación: 23 de Mayo de 2014, 17:38:56 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #5 en: 23 de Mayo de 2014, 20:55:01 »
Estoy con el móvil y me había dado la impresión que ponía NOWDT en vez de NOWRT
has mirado en la ayuda del ccs lo de setup_wdt()?

debes añadir la funcion setup_wdt() dentro del main, entre los parentesis agregar una de las siguientes opciones:
WDT_18MS   
WDT_36MS     
WDT_72MS       
WDT_144MS       
WDT_288MS       
WDT_576MS       
WDT_1152MS     
WDT_2304MS 

acabo de leer la funcion y al parecer es solo poner SETUP_WDT(WDT_144MS );
per me marca 2 errores
*** Error 28 "CASA_V_1_0.c" Line 15(21,22): Expecting an identifier
*** Error 43 "CASA_V_1_0.c" Line 15(22,23): Expecting a declaration

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Ayuda con wdt
« Respuesta #6 en: 25 de Mayo de 2014, 07:36:19 »
Que versión del ccs utilizas?
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #7 en: 29 de Mayo de 2014, 13:49:23 »
Que versión del ccs utilizas?
es la versión 4.104 amigo

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Ayuda con wdt
« Respuesta #8 en: 29 de Mayo de 2014, 14:30:51 »
Puedes poner la configuración de los fuses y el inicio de la función main?
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #9 en: 30 de Mayo de 2014, 15:31:51 »
Puedes poner la configuración de los fuses y el inicio de la función main?
aqui esta amigo mio
Código: [Seleccionar]
#include <16F877A.h>
#FUSES HS, PUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#FUSES WDT
#use delay(clock=12000000)
//
#byte port_b=0x06
#byte port_c=0x07
#byte port_d=0x08
#byte port_a=0x05
#byte port_e=0x09
#USE RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
//#use delay (clock=32000, RESTART_WDT)
setup_wdt(wdt_on);
void main()
{
set_tris_b(0X00);
set_tris_c(0b10001111);
set_tris_d(0b00000011);
set_tris_e(0b11111110);
char dato1, dato2, dato3, dato4, dato5, dato6, dato7;
int pin,comp1, comp2, comp3, comp4;
int memoria, puerto;
char datos[7];
memoria=read_eeprom(0x10);
port_b=memoria;
memoria=read_eeprom(0x11);
port_c=memoria;
memoria=read_eeprom(0x12);
port_d=memoria;
port_e=0x00;
output_high(pin_e0);
delay_ms(500);
output_low(pin_e0);
delay_ms(500);
output_high(pin_e0);
delay_ms(500);
output_low(pin_e0);
delay_ms(500);
output_high(pin_e0);
delay_ms(500);
output_low(pin_e0);
delay_ms(500);
while(true) {
gets(datos);
dato1=datos[0]; //Orden
dato2=datos[1]; //Puerto
dato3=datos[2]; //Pin
dato4=datos[3]; //Tipo
dato5=datos[4]; //Encendido/apagado
dato6=datos[5];
dato7=datos[6];

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Ayuda con wdt
« Respuesta #10 en: 30 de Mayo de 2014, 15:50:37 »
El setup_wdt(wdt_on) quitalo de ahí, la función setup_wdt va dentro del main
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #11 en: 01 de Junio de 2014, 21:50:43 »
El setup_wdt(wdt_on) quitalo de ahí, la función setup_wdt va dentro del main

hice la modificacion que me indicaste amigo y marco error de nuevo, pero lo que hice fue poner el setup_wdt(576ms) dentro del main y el setup_wdt(wdt_on) lo puse fuera y ya no me tira error per igual el wdt sigue sin activarse y si lo pongo manuamente, tampoco se activa al compilar vuelve a quedarse con los valores default

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #12 en: 01 de Junio de 2014, 22:06:11 »
te pongo el link de un video que grabe de la pantalla, ya probe haciendo un nuevo proyecto y nada de nada, la verdad me desespera por que es algo que simplemente deberia de fucionar sin nungun problema, no se si puedas pasarme un project sencillo donde uses el wdt para compilarlo y probarlo, asi tendria mas claro cual es el problema
Un saludo

Desconectado jluisruelas

  • PIC10
  • *
  • Mensajes: 35
Re: Ayuda con wdt
« Respuesta #13 en: 03 de Junio de 2014, 20:50:58 »
algun moderador cierre o elimine el tema por favor