Subversion Repositories HomeAutomation

Rev

Blame | Last modification | View Log | SVN | RSS feed

  1. /*********************************************************************
  2.  *
  3.  *   Functions for reading and writing to EEPROM.
  4.  *
  5.  *********************************************************************
  6.  * FileName:            $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $
  7.  * Last changed:    $LastChangedDate: 2006-11-14 20:15:02 +0100 (Tue, 14 Nov 2006) $
  8.  * By:          $LastChangedBy: johboh $
  9.  * Revision:        $Revision: 94 $
  10.  ********************************************************************/
  11. #include <p18cxxx.h>
  12. #include <EEaccess.h>
  13.  
  14. BYTE EERead(WORD addr)
  15. {
  16.     EEADRH=(BYTE)(addr>>8);
  17.     EEADR=(BYTE)(addr & 0xFF);
  18.     EECON1bits.EEPGD=0;
  19.     EECON1bits.CFGS=0;
  20.     EECON1bits.RD=1;
  21.     return EEDATA; 
  22. }
  23.  
  24.  
  25. void EEWrite(WORD addr,BYTE data)
  26. {
  27.     PIR2bits.EEIF=0;
  28.     EEADRH=(BYTE)(addr>>8);
  29.     EEADR=(BYTE)(addr & 0xFF);
  30.     EEDATA=data;
  31.     EECON1bits.EEPGD=0;
  32.     EECON1bits.CFGS=0;
  33.     EECON1bits.WREN=1;
  34.     INTCONbits.GIE=0;
  35.     EECON2=0x55;
  36.     EECON2=0xAA;
  37.     EECON1bits.WR=1;
  38.     INTCONbits.GIE=1;
  39.     while(!PIR2bits.EEIF);
  40.     EECON1bits.WREN=0;
  41. }
  42.