#include <16f887.h>
#fuses PUT,NOWDT,NOPROTECT,INTRC_IO//#FUSES XT, NOPROTECT, BROWNOUT, NOLVP, NOWDT
#USE delay(clock=4000000)
#USE i2c(SLAVE, SDA=PIN_C4, SLOW, SCL=PIN_C3, ADDRESS=0XA0, NOFORCE_SW)
#byte TRISA=0x85
#byte PORTA=0x05
int flag=0, valor=0;
#INT_SSP
void serial(){
int llegada;
byte estado;
estado= i2c_isr_state();
if(estado < 0x80){ //Master esta enviando datos
if(estado == 0){//Se recibe dato
}
if(estado == 1){ //El primer byte es la direccion
valor = i2c_read();
flag=1;
//estado=0;
}
}
}
void main(){
TRISA=0b00000000;
PORTA=0x00;
enable_interrupts(INT_SSP);
enable_interrupts(GLOBAL);
while(TRUE){
if(flag==1){
output_A(valor);
delay_ms(2000);
output_A(0);
flag=0;
valor=0;
}
}
}