Saludos,
Otra forma de ver tu ejecución es utilizar el puerto UART (serial) de tu PIC y conectarlo a la computadora. En este caso vas a requerir de adaptador TTL-USB que son muy baratos.(Imagen) Tengo entendido que en CCS es muy fácil la configuración del UART. Luego solo tienes que utilizar la función printf o similar para enviar la información que requieras observar. Y en el PC requieres de un programa de Terminal como TeraTERM, Termite, Hercules, Putty, etc para que lleguen los mensajes y puedas ver tus variables o mensajes.
- Tienes que ingresar para ver archivos adjuntos -
Es una idea regular usar un UART para enviar información del contenido de los registros, variables, etc. Puede ser tan útil como dice el OP, de activar un led para conocer si el contador de programa "pasó" o ejecutó una parte de código. Puede funcionar en muchos casos.
Pero se debe tener en cuenta que es un proceso que se está asumiendo que va a funcionar bien, cosa que no necesariamente puede ser verdad, pueda en el código haga un error, tenga un bug, que bloquee o envíe información errónea.
Generalmente, la gran mayoría, programa el código de manera sincrónica (código de transmisión del UART) esto implica que introduces una latencia al sistema y dicho retardo puede ocultar información o enviar información errónea.
Procesos cuyas variables cambian de manera rápida, no pueden ser analizadas, ya que dependen de la transmisión serial, la cuál es un proceso lento con respecto a la velocidad del CPU y la sincronicidad antes mencionada.
La simulación es una mejor idea, no es perfecta, puede tener muchos errores o ciertas cosas no se comportan como la realidad, pero es mucho mejor que usar un UART para informar del estado del sistema.
La depuración de hardware es lo más parecido a "mirar" en tiempo real el contenido de registro y variables del sistema.