Me pregunto si es posible usar la conexión en cadena, y en lugar de asignar una dirección manualmente a cada esclavo, ¿deberían ser lo suficientemente inteligentes como para comunicarse entre sí?
Me pregunto si es posible usar la conexión en cadena, y en lugar de asignar una dirección manualmente a cada esclavo, ¿deberían ser lo suficientemente inteligentes como para comunicarse entre sí?
I2C es un protocolo multipunto, en la mayoría de los dispositivos la dirección es fija (por ejemplo, DS3231 RTC), mientras que en la MCU se establece mediante el software. Multidrop significa que todos los dispositivos están en el mismo bus y escuchan simultáneamente mientras uno está transmitiendo. Todas las MCU admiten un solo maestro y varios esclavos I2C. En tal caso solo el Maestro inicia la comunicación. También hay una configuración I2C multimaster (cualquier Master puede iniciar la comunicación), pero por ejemplo en AVR (al menos en las más antiguas) tiene algunos defectos de diseño.
Las MCU generalmente también admiten la comunicación de varios maestros a través de UART, pero la implementación depende del proveedor de MCU y no está estandarizada.
RS-485 es el bus multipunto más popular, pero necesita un IC de transceptor adicional.
El encadenamiento en margarita, en términos de comunicación, generalmente se refiere a la retransmisión de mensajes entre dispositivos conectados en serie. Cualquier combinación de interfaz podría usarse para eso.
Lea otras preguntas en las etiquetas microcontroller i2c arduino