hice lo que digiste, no me di cuenta del void y saque el while, pero con 2 esclavos solo funciona la primera ves pero hace lo mismo en los dos esclavos aunque tengan distintas direcciones y despues no hace nada como si los dos esclavos se quedara en algun while, si solo trengo un solo esclavo anda bien, revise todo pero algo se me escapa, que consejo me puedesdar? seran los fuses??
pic: 16f887
maestro: #fuses PUT,WDT,NOPROTECT,INTRC_IO,NOLVP
#use delay (clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,STREAM=PORT1,ERRORS)
#use i2c(MASTER,fast, SDA=PIN_C4, SLOW, SCL=PIN_C3, force_sw, stream=i2cM)//MAESTRO
#bit control=0x05.0
#use standard_io(a)
#use standard_io(c)
esclavos1: #fuses PUT,WDT,NOPROTECT,INTRC_IO
#use delay (clock=4000000)
#use standard_io(b)
#use fast_io(C)
#use fast_io(D)
#use I2C(SLAVE, fast,SDA=PIN_C4 , SCL=PIN_C3, ADDRESS=0xb0, noforce_sw)
esclavo2: #fuses PUT,WDT,NOPROTECT,INTRC_IO
#use delay (clock=4000000)
#use standard_io(b)
#use fast_io(C)
#use fast_io(D)
#use I2C(SLAVE, fast,SDA=PIN_C4 , SCL=PIN_C3, ADDRESS=0xa0, noforce_sw)
no entiendo porque con uno solo anda bien y con dos no o serán las resistencias, tengo 2 de 10k conecectadas al i2c