¿No se supone que sale del reposo cuando recibe una interrupcion?
Gracias Toph, tiene toda la pinta de ser eso. Uso el 16F876. Con lo del bit INT te refieres a puentear el pin RX con el RB0?Muchas gracias y un saludo.
Muy buenas. Pues parece que no funciona bien la cosa. Tambien he probado a colocar un diodo en ambos sentidos (por si acaso). El tema es que si habilito la interrupcion del bit 0 del puerto B se despierta siempre, aunque no haya señal de recepcion (quito el cable). Igual pruebo con resistencias pull-up y pull-down... Si alguien tiene alguna idea se agradece toda la ayuda posible.Saludos.
Hola de nuevo. No se como se hace exactamente lo que dices, pero si que puede ser... tengo un libro de este pic y aqui no pone nada de que se activen a nivel bajo.
bit 6 INTEDG: Interrupt Edge Select bit1 = Interrupt on rising edge of RB0/INT pin0 = Interrupt on falling edge of RB0/INT pin
He probado otra cosa, dentro de la interrupcion lo que hago es mostar una letra por pantalla, pero no lo hace, como si no entrase en la interrupcion, pero sin embargo el sleep lo pasa, porque me muestra por pantalla otros datos que hay mas abajo en el programa...
El tema es que sin haber recepcion de datos salta la interrupcion, pongo la patilla RX con una resistencia a vcc o a gnd para que este simpre a 1 o a 0 y aun asi el micro se despierta, osea, que algo falla por algun lado.
si hacemos el susodicho puente entre la linea Rx y RB0, la linea 0 del puerto B esta compartida por el LCD y por la linea de recepcion, esta ultima está simpre que no haya datos a 1, por lo que los datos que van para el display se falsean y aparecen cosas raras
pero si lo habilito, el led se enciende aunque aparentemente no este recibiendo datos.
Una pregunta que se me viene a la cabeza, Si el micro esta dormido ¿Funciona la recepcion de datos? porque si no funciona puede que parte del primer byte no se reciba correctamente mientras el micro despierta y eso fastidie la comunicacion, aunque al final consiga despertarse correctamente se puede perder el dato... Lo tengo configurado a 125kbps.
cuando le mando datos, sale del sleep, pero no continua con el programa
uso la secuencia de configuracion __config 3D31 y no se lo que esta incluido
__CONFIG 0x3D31 ;Palabra de Config. OSC=XT, WDT=OFF, PWRTE=ON, BODEN=OFF, LVP=OFF, Sin codigo de Proteccion