Hola amigo. Ya era hora que respondiera, pero estaba de viaje y hasta ahora no e podido probar.
Para empezar te doy la enhorabuena porque eres un fenomeno. Ya tengo el pic durmiendo, y saliendo del sleep por el timer1 para hacer lo que quiera.
Ahora viene lo gracioso.... Resulta que al final el único pic que he podido conseguir para trabajar con nanowats es el pic 18f4431, y resulta que la única configuración para permitir que el timer1 despierte al pic del sleep es la que me diste, pero lo gracioso es que no necesito ningún cristal. Por lo que se ve, este pic se despierta con el timer1 funcionando internamente, y el caso es que en el datasheet aparece que hay que implementar un cristal externo. Jajaja, esto es la caña.
Resulta que tengo el micro en sleep consumiendo menos de 7uA y cuando se desborda el timer1 me obedece. (No hay ningún cristal externo en ningún sitio).
#include <18F4431.h>
#fuses xt,t1lowpower,mclr,NOPROTECT,noPUT,NOWDT,NOBROWNOUT,LVP
#use delay (clock=31000)
#byte port_a = 5
#byte port_e = 9
#use fast_io(a)
//*************************************************
#INT_TIMER1 // rutina de servicio de interrupcion
void mitimer(){
disable_interrupts(global);
output_toggle(pin_a0);
set_timer1(0xf900);
enable_interrupts(global);
}
//*************************************************
void main(){
set_tris_a(0x00);
set_tris_b(0xf0);
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_e(0x00);
setup_timer_1(0b1111);
set_timer1(0xf900);
enable_interrupts(int_timer1);
enable_interrupts(global);
for(;
{
sleep();
}
}
A costado pero sin entenderlo muy bien, ya está soluocionado.
Ahora que avanzo me salen ciertos problemas que pondré en un post nuevo si difiere del título de este.
Por cierto. GRACIAS PALITROQUEZ Y A TODOS LOS QUE HAN APORTADO SUS IDEAS Y CONOCIMIENTOS.
NOTA: ¿de donde eres palitroquez?
Un saludo.