Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
94 johboh 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
}