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
}