Hola hay muchas maneras de hacerlo, si el comando y la instruccion la haces en ASCII podes hacer esto:
PC --> PIC 02 CMD CMD CMD REG REG REG 03 Checksum ( 02 inicia trama, cmd y reg valores comandos e instruccion, 03 fin de trama, Checksum es el chesksum de todos los bytes transferidos.
PC <-- PIC si el cheksum de la trama es correcto, el PIC devuelve un 06 ( ACK ) sino devuelve un 15 ( NACK ), para el primer caso el PIC procesa algo y deveulve en el mismo formato, sino la PC debe enviar el comando de nuevo.
La idea basicamente es esa.
Saludos !