write to EEPROM and interrupt


Closed Thread
Results 1 to 8 of 8

Hybrid View

  1. #1
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: write to EEPROM and interrupt

    swr999, I have used the "DEFINE WRITE_INT 1" directive with my 18F parts and have had no problems. The READ instructions are not to my knowlege prone to disruption with interrupts enabled.
    Dave Purola,
    N8NTA
    EN82fn

  2. #2
    Join Date
    Jan 2009
    Location
    Miami, Florida USA
    Posts
    699


    Did you find this post helpful? Yes | No

    Default Re: write to EEPROM and interrupt

    Quote Originally Posted by Dave View Post
    swr999, I have used the "DEFINE WRITE_INT 1" directive with my 18F parts and have had no problems. The READ instructions are not to my knowlege prone to disruption with interrupts enabled.
    Hi. Is this a PBP3 DEFINE? I don't see this in my PBP 2.60 manual. What does it do?
    "No one is completely worthless. They can always serve as a bad example."

    Anonymous

  3. #3
    Join Date
    Mar 2008
    Posts
    16


    Did you find this post helpful? Yes | No

    Default Re: write to EEPROM and interrupt

    Quote Originally Posted by rsocor01 View Post
    Hi. Is this a PBP3 DEFINE? I don't see this in my PBP 2.60 manual. What does it do?
    DEFINE WRITE_INT 1 is used to avoid write errors during a WRITE to EEPROM which might otherwise possibly be caused by an interrupt occurring during the write. The functionality is that it disables interrupts just prior to executing a WRITE instruction, and re-enabls interrupts after the WRITE completes. Appears to be strictly a PBP3 feature.

  4. #4
    Join Date
    Mar 2008
    Posts
    16


    Did you find this post helpful? Yes | No

    Default Re: write to EEPROM and interrupt

    With regard to the "DEFINE WRITE_INT 1" directive, it appears to be available at least from PBP 2.50 onwards. I misspoke above^^^. Apologies.

  5. #5
    Join Date
    Mar 2008
    Posts
    16


    Did you find this post helpful? Yes | No

    Default Re: write to EEPROM and interrupt

    Quote Originally Posted by Dave View Post
    swr999, I have used the "DEFINE WRITE_INT 1" directive with my 18F parts and have had no problems. The READ instructions are not to my knowlege prone to disruption with interrupts enabled.
    Thanks Dave. My "issue" is that I have a 10-mS interrupt running to keep track of elapsed time. I have several EEPROM writes and since EEPROM writes take a while I don't want to lose time by stopping the interrupt for every write.

    I did a test program where I repeatedly wrote to EEPROM with a 'random' WORD. For each write I then read back the value that got stored in EEPROM. It turns out that the error rate due to interference from the interrupt was quite low, about 0.04% (~400 errors in a million writes). So what I ended up doing was to do each write with a call to a subroutine:

    EEwriteWord:
    WRITE addr,xW.byte0:WRITE addr+1,xW.byte1
    READ addr,xR.byte0: READ addr+1,xR.byte1
    IF xR != xW then
    INTCON.7=0
    WRITE addr,xW.byte0:WRITE addr+1,xW.byte1
    INTCON.7=1
    ENDIF
    RETURN

    This seems to be working well. While the EEPROM write takes several mS the READ is pretty fast, so this doesn't add too much overhead.

Similar Threads

  1. Can't ID interrupt source with this IntHandler??
    By jellis00 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 3rd June 2009, 02:35
  2. Replies: 5
    Last Post: - 29th May 2008, 18:03
  3. PIC16F684 + LCD to use the 256bytes of EEPROM - HELP
    By xnihilo in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 7th March 2008, 14:19
  4. Help with Analog Interrupt
    By brid0030 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 13th February 2008, 18:14
  5. WRITE TO Eeprom
    By crhomberg in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 12th February 2008, 04:33

Members who have read this thread : 0

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