PIC18 LaurTec Library  3.1.2
Open Source C Library for PIC18 Microcontrollers based on C18 - XC8 Compilers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
i2cEEPROM.c File Reference
#include "i2cEEPROM.h"

Go to the source code of this file.

Functions

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

Function Documentation

signed char read_I2C_EEPROM ( unsigned char  control,
unsigned 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 217 of file i2cEEPROM.c.

signed char write_I2C_EEPROM ( unsigned char  control,
unsigned 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 56 of file i2cEEPROM.c.

signed char write_I2C_EEPROM_check ( unsigned char  control,
unsigned 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].
To make this library works you need to include the delay library as well.

Definition at line 185 of file i2cEEPROM.c.

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