Tengo 4 propuestas que creo que son las soluciones más fáciles. Henry ya ha propuesto 2, pero los he completado un poco.
Logic Analyzer
Hay algunos de ellos que se conectan directamente a su PC a través de USB, por lo que puede ver la señal medida directamente en su PC. Un software en la PC decodifica algunos protocolos como UART, I2C, SPI ... para que presente los datos enviados de forma más humana, no solo la señal eléctrica. No he probado muchos de ellos, pero tengo un clon muy barato (alrededor de 10 €) de Saleae Logic Analizer que te permite usar el software original de Saleae, que es excelente y gratuito.
Adaptador FTDI conectado a una unidad de usuario
Ftdi tiene adaptadores UART a USB, I2C a USB, SPI a USB ... elija el que necesita. La computadora lo reconoce como un puerto serie virtual, por lo que es muy fácil de leer y escribir, incluso desde su consola SO, sin necesidad de escribir código complicado para PC (ya sea Win, Linux, Mac ...)
El sitio web de FTDI no es muy intuitivo para navegar por su catálogo. Es mejor que busque en Google lo que necesita (por ejemplo, "FTDI USB to SPI").
Un uso posible es adjuntarlo a uno de los uC si tiene un periférico de comunicación no utilizado (y pines). Por ejemplo, si la comunicación entre los uC es I2C y uno de ellos tiene un puerto UART gratuito, compre un adaptador UART a USB. Luego, en el programa de ese uC, envías todos los datos enviados y recibidos a través de i2c al uart, para que tu PC también los reciba. Esto es más o menos lo mismo que propuso Henry.
El adaptador FTDI está conectado al mismo bus de comunicación que el de los uC
Otro posible uso es adjuntar el adaptador directamente a las rutas que conectan ambas unidades de control. De esta manera, no es necesario tener pines gratuitos, ni agregar ningún código al programa de la Universidad de Carolina del Norte.
En este caso, debe tener cuidado de no interrumpir la comunicación con el adaptador, no enviar ningún dato desde la PC.
Si la comunicación entre los uC se realiza con una comunicación de topología de bus, como I2C o SPI, puede usar un solo adaptador para leer los mensajes de ambos uC. Si la comunicación entre los uC se realiza a través de UART, necesitará 2 adaptadores.
Crea un registro en la memoria y pausa la ejecución un poco más tarde
Si la cantidad de datos que desea analizar no es demasiado grande, porque no se intercambian muchos datos o porque solo necesita analizar una pequeña cantidad de tiempo, puede crear grandes búferes en la memoria de los uC y almacenar allí Los datos recibidos. No utilice los puntos de interrupción para pausar la ejecución siempre que se reciban datos, simplemente deje que el programa se ejecute durante el tiempo que desee (5 segundos, por ejemplo). Luego, haga una pausa en la ejecución con el depurador e inspeccione el contenido del búfer.
Dependiendo del IDE que esté utilizando, a veces puede exportar los datos para una inspección más sencilla para sobresalir, por ejemplo (solía hacer esto con Microchip MPLAB X)
Puede hacerlo dependiendo de la cantidad de memoria libre que tenga en los uC y en la cantidad de datos que necesite registrar.