C18 LaurTec Library  2.5
Open Source C Library for PIC18 Microcontrollers
LaurTec_c18_libraries_v_2.5/inc/i2cEEPROM.h File Reference
#include <i2c.h>
#include <delay.h>

Go to the source code of this file.

Functions

signed char write_I2C_EEPROM (unsigned char control, int address, unsigned char data)
signed char write_I2C_EEPROM_check (unsigned char control, int address, unsigned char data)
signed char read_I2C_EEPROM (unsigned char control, int address, unsigned char *data)

Function Documentation

signed char read_I2C_EEPROM ( unsigned char  control,
int  address,
unsigned char *  data 
)

This function reads a byte from an external I2C EEPROM.

Parameters:
controlIs the address of the EEPROM set with the external address pins and the internal one. The bit R/'W set to 0. (i.g 0xA0)
addressAddress where the byte must be read out [min: 0, max: depends on the EEPROM]
*dataAddress of the variable where the read data will be written into.
Returns:
status 1: The byte has been properly written -1: Bus Collision error -2: Not Ack error condition -3: Write collision
Note:
This function only supports EEPROM which have two bytes for the address [min EEPROM is 25L32].

Definition at line 206 of file i2cEEPROM.c.

signed char write_I2C_EEPROM ( unsigned char  control,
int  address,
unsigned char  data 
)

This function writes a byte inside an I2C external EEPROM.

Parameters:
dataByte to write [min: 0, max: 255]
addressAddress where the byte must be written [min: 0, max: depends on the EEPROM]
controlIs the address of the EEPROM set with the external address pins and the internal one. The bit R/'W set to 0. (i.g 0xA0)
Returns:
status 1: The byte has been properly written -1: Bus Collision error -2: Not Ack error condition -3: Write collision
Note:
This function only supports EEPROM which have two bytes for the address [min EEPROM is 25L32].

Definition at line 45 of file i2cEEPROM.c.

signed char write_I2C_EEPROM_check ( unsigned char  control,
int  address,
unsigned char  data 
)

This function writes a byte inside the EEPROM but it reads back the value to make sure that it has been properly written. It's slower than the other one due to this feature.

Parameters:
dataByte to write [min: 0, max: 255]
addressAddress where the byte must be written [min: 0, max: depends on the EEPROM]
controlIs the address of the EEPROM set with the external address pins and the internal one. The bit R/'W set to 0. (i.g 0xA0)
Returns:
status 1: The byte has been properly written -1: Bus Collision error -2: Not Ack error condition -3: Write collision -4: Readback error
Note:
This function only supports EEPROM which have two bytes for the address [min EEPROM is 25L32].

Definition at line 174 of file i2cEEPROM.c.

References delay_ms(), read_I2C_EEPROM(), and write_I2C_EEPROM().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines