#include <p33FJ64GP204.h>

#ifndef __I2CEMEM_H__				//???
#define __I2CEMEM_H__				//???

#define MAX_INTENTS		1000
#define UN_BYTE			1
#define DOS_BYTES		2

#define AMPLE_ADRECA	UN_BYTE		//Tamany de la adreça del RTC

#define I2C_IDLE		0			//???
#define I2C_ESCRIURE	1
#define I2C_LLEGEIX		2
#define I2C_ERROR		0xFFFF
#define I2C_STOP		15

typedef struct {
				char *buffer;					//Es el buffer on anirem guardant les dades rebudes o enviades
				unsigned int numero;			//Numero de bits que te el buffer
				unsigned int adresa;			//Direccio on escriurem o llegirem
				unsigned int localitzacio;		//Localitzacio d'on començarem a escriure o llegir
				}I2C_DADES;

typedef struct {
				unsigned int comando;			//Serveix per indicar si el que volem es escriure o llegir
				I2C_DADES *dades;				//Tenim tota la estructura I2C_DADES al puntero dades
				void (*inici)( void *);			//Inicialitza la funcio inici
				void (*driver)(void*);			//Inicialitza la funcio driver
				}I2C_DRIVERS;

#define I2C_INICI_DRIVERS { 0,\
						   (I2C_DADES *) 0,\
						   (void (*)(void *))I2C_INICI,\
						   (void (*)(void *))I2C_DRIVER}      	

void I2C_INICI(I2C_DRIVERS *);									//No ho se
void I2C_DRIVER(I2C_DRIVERS *);									//No ho se

#endif		




