SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop


+ Reply to Thread
Results 1 to 12 of 12
  1. #1
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,879

    Default SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    PIC 16F18877

    Code:
    #CONFIG
        __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT32 & _CLKOUTEN_OFF & _CSWEN_OFF & _FCMEN_ON
        __config _CONFIG2, _MCLRE_ON & _PWRTE_OFF & _LPBOREN_OFF & _BOREN_ON & _BORV_LO & _ZCD_OFF & _PPS1WAY_OFF & _STVREN_ON & _DEBUG_OFF
        __config _CONFIG3, _WDTCPS_WDTCPS_11 & _WDTE_ON & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC
        __config _CONFIG4, _WRT_OFF & _SCANE_available & _LVP_OFF
        __config _CONFIG5, _CP_OFF & _CPD_OFF
    #ENDCONFIG
    
    DEFINE OSC 32
    
    ANSELA = %00000000
    ANSELB = %00000000
    ANSELC = %00000000
    ANSELD = %00000000
    ANSELE = %00000000
    
    TRISA = %00000000
    TRISB = %00000000
    TRISC = %00000000
    TRISD = %00000000
    TRISE = %00001000
    
    LEDblink            var PORTD.0
    
        PAUSE 200
        LEDblink = 0
    
    Mainloop:
        LEDblink = 1
    '    PAUSE 1
        LEDblink = 0
    '    PAUSE 1
      GOTO Mainloop
    end
    Any idea why it seems to reset unless I have a PAUSE 1 in Mainloop?

    The trace is on LEDblink pin.

    Name:  Mainloop PAUSE.png
Views: 127
Size:  11.9 KB


    I had this PIC working a while ago. I don't see what I'm missing.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,879


    Did you find this post helpful? Yes | No

    Default Re: PIC seems to RESET unless I add a PAUSE in Mainloop

    Yeah, had Port instead of Lat.

    https://www.picbasic.co.uk/forum/sho...s-the-mainloop


    I switched this to WDTE=OFF and it no longer resets.

    (have some reading to do on WDTE)
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  3. #3
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,947


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    Normally Watchdog is reset within the code PBP produces.

    But why it does not in the case of 16F18877 seems strange. Maybe it is not controlled correctly?

    Ioannis

  4. #4
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,879


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    I have no clue.

    My PIC is either ON or OFF, I have no Sleep mode.

    https://ww1.microchip.com/downloads/...Doc/31026a.pdf

    During normal operation, a WDT time-out generates a device RESET. If the device is in SLEEP mode, a WDT time-out causes the device to wake-up and continue with normal operation, this is known as a WDT wake-up. The WDT can be permanently disabled by clearing the WDTE configuration bit.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  5. #5
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,947


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    What is the duration of this reset, if it is reset?

    You may add a PAUSE 1000 at the beggining of the program and see if this duration is increased. This will confirm that PIC is indeed reseting.

    Ioannis

  6. #6
    Join Date
    May 2013
    Location
    australia
    Posts
    2,470


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    It is definitely a reset, a look at the lst file shows that the looped code segment has no pbp statements in it that generate a clwdt instruction

    that loop does the the same thing for every pic chip i tried. its not really a practical loop more a curiosity
    Warning I'm not a teacher

  7. #7
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,879


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    I was testing a new breadboard layout and PIC config; to make sure I had a heartbeat before piling more code.
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  8. #8
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,947


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    Since on power up the SEN bit of the WDTCON0 register is at 0 (Watchdog disabled), why does that chip resets itself?

    Ioannis

  9. #9
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,559


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    Because if the WDTE bits in CONFIG3 is anything but 0b01 the SEN bit is ignored and the CONFIG block of the code contains _WDT_ON which, according to the .INFO file for the device means
    Code:
     _WDTE_ON	    ;WDT enabled regardless of sleep; SWDTEN ignored
    If you want software control of the WDT you could choose
    Code:
    _WDTE_SWDTEN	    ;WDT enabled/disabled by SWDTEN bit in WDTCON0
    /Henrik.

  10. #10
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,947


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    But then I see no way that PBP is aware of that or can reset the WDT.

    Ioannis

  11. #11
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    2,879


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    Quote Originally Posted by Ioannis View Post
    But then I see no way that PBP is aware of that or can reset the WDT.

    Ioannis
    I would guess by this bit?

    When the WDTE bits of Configuration Words are set to ‘01’, the WDT is controlled by the SEN bit of the WDTCON0 register.

    (p. 163 of datasheet)
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  12. #12
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,559


    Did you find this post helpful? Yes | No

    Default Re: SOLVED - PIC seems to RESET unless I add a PAUSE in Mainloop

    Basically the CONFIG settings allows you to force the WDT either on/off OR allow the program to turn it on/off at runtime.

    As for resetting/clearing it, as long as you don't DEFINE NO_CLRWDT 1 PBP will clear/reset the WDT by inserting CLRWDT instructions into the code - it doesn't matter if the WDT is actually enabled, disabled, running or not. The instructions will be embedded in the assembly listing of the program. Unless, apparently, you do this kind of super tight loop.

Similar Threads

  1. Unsupported new PIC 16F18015 - how to add?
    By wjsmarine in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 10th May 2023, 11:24
  2. Outside the Mainloop
    By pescador in forum General
    Replies: 10
    Last Post: - 26th April 2016, 17:34
  3. Replies: 6
    Last Post: - 28th October 2014, 06:08
  4. pic reset sometimes
    By Pedro Pinto in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 23rd January 2008, 17:27
  5. Pic - reset
    By jrt4fun in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 19th September 2006, 19:12

Members who have read this thread : 10

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts