Tengo una interfaz I2C con varios esclavos y un maestro único. Si el maestro quiere comunicarse con alguno de los esclavos, envía su dirección y lee desde el mismo. Pero, ¿qué se debe hacer si uno de los esclavos quiere comunicarse con el maestro?
Tengo una interfaz I2C con varios esclavos y un maestro único. Si el maestro quiere comunicarse con alguno de los esclavos, envía su dirección y lee desde el mismo. Pero, ¿qué se debe hacer si uno de los esclavos quiere comunicarse con el maestro?
Caso 1: el esclavo tiene un pin de interrupción
Necesita conectar este pin de interrupción al microcontrolador maestro. Cada vez que el esclavo tiene algunos datos, debe provocar una interrupción. En ese momento, el maestro leerá los datos disponibles.
Caso 2: el esclavo no tiene un pin de interrupción
El sondeo es la única opción en este caso. El Maestro sigue leyendo todos los esclavos a intervalos regulares y sigue comparando los datos recibidos con los antiguos. Si los datos han cambiado, el maestro tomará la acción apropiada. Debe decidir el intervalo de acuerdo con su aplicación.
Lea otras preguntas en las etiquetas microcontroller embedded firmware