Hola a Todos!
Recurro a los maestros de este foro para consultar que funciones del PICC CCS me permiten:
1) Resetear el microcontrolador borrando la pila , el contenido de los datos recibidos por el puerto serie y deshabilitando las interrupciones
2) Borrar la pila
3) Borrar datos no recibidos por el puerto serie que no han sido leidos (si es que los hay)
4) conocer el estado de las interrupciones
Estas preguntas se deben a que debo realizar la siguiente accion: Al recibir en la rutina de interrupcion #int_RDA un comando debo realizar el ella una accion que demora 18 segundos. Luego puedo o bien reiniciar el microcontrolador o regrasar al punto donde estaba.
Otra duda que tengo es que sucede si se reciben datos mientras estos 18 seg. Hay alguna forma de borrarlos?
#int_RDA
RDA_isr()
{
Buffer[Contador_de_Recepcion_Serie] = getc();
if (Buffer[Contador_de_Recepcion_Serie] == 0x00)
{
if (Analiza_Buffer())
{
Realiza_Accion_18SEG();
//Resetear la CPU completamente o regresar correctamente al punto anterior a la llamada
}
Contador_de_Recepcion_Serie = 0;
}
else
Contador_de_Recepcion_Serie++;
}
Gracias a Todos Nuevamente su ayuda conceptual!