Debería poder demostrar que el nodo no deseado está interrumpiendo cosas utilizando su alcance. Verifique que la línea de salida de datos de su MCU no esté cobrando vida cuando el nodo deseado esté respondiendo. Estoy empezando a sospechar que la respuesta del primer nodo contiene un byte que parece una dirección para el segundo nodo.
Sí, el nodo no deseado parece estar transmitiendo cuando el otro nodo
Respuestas al maestro.
Este es un problema común al diseñar enlaces de datos. Por lo general, lo que se puede hacer es enviar un encabezado de primer byte que sea único y nunca esté contenido en ningún dato de carga útil. Después de ese encabezado, coloca la dirección de destino del esclavo, por lo que cualquier esclavo solo puede considerar responder cuando se recibe el encabezado único más la dirección. Después de esos bytes estarán los datos de la carga útil y, finalmente, un byte de comprobación de errores (o dos).
Para evitar que los datos de carga útil se vean como el encabezado único, use una técnica conocida como relleno de bytes O, espere hasta que se reciba la suma de comprobación para verificar que se haya recibido un mensaje correcto y no un fragmento de datos de otro esclavo.
También puede buscar interrupciones entre las transmisiones para volver a sincronizarse cuando busque una dirección. También debe considerar no transmitir a ciegas cuando se envía otro byte, ya que una interrupción de al menos 10 bits suele ser suficiente para obtener un sistema más robusto.