Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: pajaro en 29 de Junio de 2012, 21:29:17
Título: :: ESCLAVO i2c :: discrimina paquete ::
Publicado por: pajaro en 29 de Junio de 2012, 21:29:17
hola
Implemente un nuevo codigo en el cual un master escribe sobre un esclavo de direcion especifican pero en el bus hay otro esclavo con direcion distinta.
en la interrupcion si state == 0x80 le puse
Código: C++
//i2c_write(Dato1);
output_high(PIN_B3);
delay_ms(150);
output_low(PIN_B3);
delay_ms(150);
output_high(PIN_B3);
delay_ms(150);
output_low(PIN_B3);
delay_ms(150);
output_high(PIN_B3);
delay_ms(150);
output_low(PIN_B3);
printf("\n\r Llego dato.");
break;
¿por que el dato le llega a los dos esclavo si solo deberia de llegarle a uno? al que coincide su direcion, mediante proteus vi que le llega primero a uno y despues al otro tambine probe a cambiar la direcion para versi cogia primero al otro y despues al primero pero no se los manda de forma seguida pero sin identificar direcion.
en la interrupcion del esclavo puse una condicion que verifique el registro SSPADD, creo que ese es donde guarda las direciones... o eso creo yo