Hola compañeros, estoy utilizando dos pic 16f8xx como exclavo y pic 18f252 como maestro. El exclavo lo utilizo unicamente para controlar un lcd, es decir solo recibe informacion y visualiza. Todo funciona bien hasta que he añadido un sensor de temperatura.
El caso es que el pic exclavo muestra todos los datos que le voy enviando, cada 10 segundos el pic maestro lee la temperatura del sensor ds1621 que va por bus I2C, a partir de aqui ya el pic exclavo no se comunica con el maestro.
Por las pruebas que estoy haciendo, pienso que el pic exlavo (encargado solo de visualizar) se queda bloqueado al ver que la direccion enviada no es la suya.
No se que se puede hacer para que el pic exclavo al recibir una direccion que no es la suya, la borre y se mantenga a la espera de que le llegue su direccion.
Estos registros son los que tiene el pic exclavo mientras esta funcionando bien:
SSPBUF 0x0013 0b00000000
SSPCON 0x0014 0b00110110
SSPCON2 0x0091 0b00000000
SSPSTAT 0x0094 0b00110000
SSPADD 0x0093 0xE4 ; esta es la direccion que le tengo puesta al pic exclavo
PIR1 0x0F9E 0b00001000
Y asi es como se queda el pic exclavo cuando hago una lectura del sensor ds1621:
SSPBUF 0x0013 0b10011110 ; esta direccion que aparece aqui es la que le tengo puesta al sensor ds1621
SSPCON 0x0014 0b01110110
SSPCON2 0x0091 0b00000000
SSPSTAT 0x0094 0b00010001
SSPADD 0x0093 0xE4
PIR1 0x0F9E 0b01001000
;
No se como configurar el exclavo para que esto no pase, me trae de cabeza. Un saludo compañeros.