Autor Tema: Problema raro- Watchdog en 18f452  (Leído 2139 veces)

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

Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
Problema raro- Watchdog en 18f452
« en: 17 de Julio de 2005, 11:31:00 »
Hola listeros,hice un programa y quiero agregale el wdt para darle mas confiabilidad,el tema es que estoy haciendo unas pruebas para probar el wdt y no logro que el pic se me resetee cuando se rebalsa el wdt, no hay ningun  Clrwdt en el codigo(no agregue DECLARE WATCHDOG = ON  para que no me agregue las lineas de Clrwdt el pbp)no se si no se me configura bien el wdt,pareceria que no ,pero la forma de configurarlo la saque de la ayuda del pbp, no encuentro donde esta el problema,ahi va el codigo en pbp y el asssembler que genera...
gracias por adelantado!!
jorje


DEVICE = 18F452
XTAL = 20   "frecuencia cristal
DECLARE BOOTLOADER =On
@CONFIG_REQ
@__CONFIG CONFIG2H, WDT_ON_2 & WDTPS_1_2
trise=0
symbol led  porte.1

led=1
delayms 1000    "cuando el pic se resetea se tendria que prender el led
led=0

asm                    "se queda en este lazo no haciendo nada
lazo
    nop      
    nop
    nop
goto lazo
endasm

END


Assembler generado:

LIST
   #Define LAMP1 PORTE,1
F1_SOF equ $ ; WDT.BAS
 CONFIG_REQ
 __CONFIG CONFIG2H, WDT_ON_2 & WDTPS_1_2
F1_000009 equ $ ; in [wdt.bas] trise=0 "led placa principal trise.1
   Clrf TRISE
F1_000011 equ $ ; in [wdt.bas] lamp1=0
   Bcf PORTE,1
F1_000012 equ $ ; in [wdt.bas] lamp1=1
   Bsf PORTE,1
F1_000013 equ $ ; in [wdt.bas] delayms 1000
   Movlw 3
   Movwf PP1H
   Movlw 232
   F@Call dly@w
F1_000014 equ $ ; in [wdt.bas] lamp1=0
   Bcf PORTE,1
; Start of Inline Code.
nada nop
nop
nop
goto nada
; End of Inline Code.
F1_000024 equ $ ; in [wdt.bas] end
Pb@lb2
   Sleep
   F@Jump Pb@lb2
   END




   
   
   
   
 

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Problema raro- Watchdog en 18f452
« Respuesta #1 en: 19 de Julio de 2005, 01:27:00 »
Normalmente en PBP debe ponerse la siguiente linea para desconectar la insercion automática de refresco del WDT:

DEFINE NO_CLRWDT 1 "Forces manual use of CLRWDT

Saludos
Ricky

Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
RE: Problema raro- Watchdog en 18f452
« Respuesta #2 en: 20 de Julio de 2005, 13:49:00 »
Gacias Ricky pero probe(uso pbplus) y no anda,el pic sigue sin resetearse,fijate en el assembler no apaerce ningun Clrwdt con el wdt activado se tendria que resetear!!!..la verdad ni idea que es lo que esta fallando,tiene que ser la declaracion hecha asi como dice en la ayuda
@CONFIG_REQ
@__CONFIG CONFIG2H, WDT_ON_2 & WDTPS_1_2
hay alguna otra forma de escribir estos registros??
saludos
jorje

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Problema raro- Watchdog en 18f452
« Respuesta #3 en: 21 de Julio de 2005, 01:52:00 »
No he usado el WDT en un 18,

pero parece que esa que has puesto es la configuración del registro para activar el WDT.

En el Protón existen los siguientes parametros de ajuste que son el wdt y el postcaler:

 ;Configuration Byte 2H Options
WDT_ON_2         EQU 0XFF ; Watch Dog Timer enable
WDT_OFF_2         EQU 0XFE
WDTPS_128_2         EQU 0XFF ; Watch Dog Timer PostScaler count
WDTPS_64_2         EQU 0XFD
WDTPS_32_2         EQU 0XFB
WDTPS_16_2         EQU 0XF9
WDTPS_8_2         EQU 0XF7
WDTPS_4_2         EQU 0XF5
WDTPS_2_2         EQU 0XF3
WDTPS_1_2         EQU 0XF1

Una linea similar a esta debería bastar

__config CONFIG2H, WDT_ON_2 & WDTPS_128_2

Saludos,
Ricky



Desconectado jorje2005

  • PIC10
  • *
  • Mensajes: 6
RE: Problema raro- Watchdog en 18f452
« Respuesta #4 en: 22 de Julio de 2005, 21:50:00 »
Hola Ricky!,parece que ahi esta el problema.primero...defini los registros en assembler como me dijiste..
 asm
WDT_OFF_2 EQU 0XFE
WDTPS_128_2 EQU 0XFF ; Watch Dog Timer PostScaler count
WDTPS_64_2 EQU 0XFD
WDTPS_32_2 EQU 0XFB
WDTPS_16_2 EQU 0XF9
WDTPS_8_2 EQU 0XF7
WDTPS_4_2 EQU 0XF5
WDTPS_2_2 EQU 0XF3
WDTPS_1_2 EQU 0XF1
endasm
pero si pongo la linea esa sola  @__config CONFIG2H, WDT_ON_2 & WDTPS_128_2
me tira un error de sobreescritura de una posicion de memoria (Overwriting previous address contents)
para que me lo tome tengo que agregar la linea
@CONFIG_REQ
@ __config CONFIG2H, WDT_ON_2 & WDTPS_128_2

asi es como lo habia configurado antes y no anda....alguna otra idea!!!??
 
saludosssy gracias
Jorje




 

anything