Asm sleep - pbp sleep


Closed Thread
Results 1 to 32 of 32

Hybrid View

  1. #1
    Join Date
    May 2013
    Location
    australia
    Posts
    2,472


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    its all the same problem
    what bank is baudcon in?
    what bank is porta or portc in ?


    ASM
    BTFSS BAUDCON,RCIDL ;Check for High, no receive in progress
    GOTO $-1 ;return to previous line
    BSF BAUDCON,WUE ;Wake on Rx from Master
    BSF PORTA,1 ;LED
    SLEEP
    BSF PORTC,1 ;LED
    nop
    nop
    nop ; Should be in sleep for 10sec.
    ENDASM
    Warning I'm not a teacher

  2. #2
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,185


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    Your MCLRE is ON.
    If you are using power adapter (not battery), make sure you have 100nf cap from MCLRE pin to GND. And I am not even asking about 4K7 - 10K res to vdd; Assuming it is already there.

    And, if the osc is giving you issues somehow, then try OSCCON=%01110010.
    And check OSC stable bits in OSCSTAT.
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

  3. #3
    Join Date
    May 2013
    Location
    australia
    Posts
    2,472


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    if you are going to do this sort of thing in asm then you need to understand how banked memory access is
    used for this chip. hint [ baudcon is not in access bank ]
    Warning I'm not a teacher

  4. #4
    Join Date
    Jan 2009
    Location
    Alabama,USA
    Posts
    219


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    Quote Originally Posted by richard View Post
    if you are going to do this sort of thing in asm then you need to understand how banked memory access is
    used for this chip. hint [ baudcon is not in access bank ]

    Thanks guys for all your replies. I really do appreciate the time you've
    taken.
    So Richard, I should have understood what you were saying the first time. I converted all code to PBP and it looks like RCIDL is set after all. However it didn't change the results.
    I then went to battery power, no change. Still a reset every 2.14sec. I also changed several of the configs with no change in results. I may mark this one up as part of the magical mystery tour as I have a work around for the problem. This is one of a couple problems that I could never solve. The other was the inability to make RA.7 a digital I/O. I wonder if my software has some corruption. Yea, when all else fails blame it on the software. Wayne

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


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    Did you set WDT to OFF?

    Ioannis

  6. #6
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,951


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    OK, here is the explanation about the NOP:

    When the SLEEP instruction is being executed, the next
    instruction (PC + 1) is prefetched. For the device to
    wake-up through an interrupt event, the corresponding
    interrupt enable bit must be set (enabled). Wake-up
    occurs regardless of the state of the GIE bit. If the GIE
    bit is clear (disabled), the device continues execution at
    the instruction after the SLEEP instruction. If the GIE bit
    is set (enabled), the device executes the instruction
    after the SLEEP instruction, then branches to the interrupt
    address (0004h). In cases where the execution of
    the instruction following SLEEP is not desirable, the
    user should have a NOP after the SLEEP instruction.
    The WDT is cleared when the device wakes up from
    Sleep, regardless of the source of wake-up.


    The key is that before SLEEP the next command is prefetched and might not be what one wants right after a wake, especially after wake from interrupt.

    Ioannis

  7. #7
    Join Date
    May 2013
    Location
    australia
    Posts
    2,472


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    a 2 sec reset looks very likely to be wdt



    after disabling wdt i would try something like this

    Code:
    SleepMode:
        PortA.1=0     ;Indicator LED out on entering SLEEP
    ASM
        BANKSEL BAUDCON  ;bank 3
        BTFSS   BAUDCON,RCIDL  ;Check for High, no receive in progress
        GOTO $-1                
        BSF BAUDCON,WUE        ;Wake on Rx from Master 
        BANKSEL 0  ;bank 0
        BSF  PORTC,1   ;LED 
        BCF INTCON ,7
        SLEEP
        nop
        BSF INTCON ,7
    ENDASM
        PortA.1=1                   ;Indicator LED ON  at exit SLEEP
        return
        end
    Warning I'm not a teacher

  8. #8
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,185


    Did you find this post helpful? Yes | No

    Default Re: Asm sleep - pbp sleep

    Quote Originally Posted by richard View Post
    .....

    Code:
      SLEEP
        nop
        BSF INTCON ,7
    

    Wayne,
    Pay attention to Rihard's code there. The first ting after SLEEP must be NOP.
    You did not have NOP as the first thing atfer SLEEP in your code.

    and WDT is OFF in config; how can it be an issue?
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

Similar Threads

  1. Can't @sleep
    By MOUNTAIN747 in forum General
    Replies: 3
    Last Post: - 30th December 2010, 17:29
  2. Trying to add a sleep function or pretend to sleep
    By lilimike in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 9th May 2010, 19:10
  3. Help with PBP 'SLEEP' command
    By dreadmaul in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 18th November 2006, 07:40
  4. How to go to sleep
    By savnik in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 22nd September 2006, 18:38
  5. Sleep Mode in PBP
    By Keith in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 4th March 2005, 20:58

Members who have read this thread : 1

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