JEJE...
Yo también empecé con el Z80...

Y recuerdo lo que me costó aprender lo poco que nos enseñaban en clase...
Y lo que mas recuerdo es lo de tener que convertir el programa a mano a HEX, y luego meterlo el entrenador... PUFFFF... Que suplicio.....
Bueno, a lo que ivamos....
La idea que me das, es la que mas o menos estaba empezando a enfocar...
Mi idea es, dado que el pic, lo tengo trabajando a 20Mhz, y depuro las funciones de interprete de comandos al maximo, hacer una lectura en tiempo real... Vamos como si el pic fuese multitarea...

Me explico....
en el módulo principal... El pic, hace sus cositas.. Lee, los pines del portb, enciende los del porta... o lo que sea...
y cada determinado tiempo, entro en la rutina de detección de comando serie....
Bueno, la idea, es la siguiente....
Una vez que entro en la interrupción, comparo el tamaño del buffer, y si es mayor que 2 caracteres, que es el comando mas corto que he puesto (SI/NO), entonces, lanzo la llamada a la función de interprete de comandos....
Pero claro... hay que hacerlo fuera del handler, para que no se me meta en modo recursivo....

asi que la idea a sido la siguiente.
En la función de interprete de comandos, le he puesto un flagBit para controlar si estoy o no en ella.
Al entrar, lo pongo a 1 y al salir del interprete, lo pongo a 0.
Bueno, pues si recivo datos de la usart estando en esta función, da igual, porque cogemos los datos, los metemos en el buffer, y seguimos con el proceso de la función, que a su vez, va limpiando según interpreta.
pero la idea, es que si no estoy en la función interprete, al entrar en el handler, llenar el buffer, comparar el tamaño, y si es mayor que 2, y el flagbit del interprete esté a 0 entonces esto significa, que tengo datos a interpretar y que no los estoy interpretando, asi que saltamos a la función interprete de comandos....
aqui es donde está mi pequeña duda....
Como hago, para llamar a la función interprete de comandos, fuera del handler, pero de un modo directo????
No se si me he explicado.... Espero se entienda la idea principal de mi exposición....
