Du kannst Dir ja mal TWI angucken, wenns per Hardware geht, muss man eigentlich nur warten bis ein Byte über I2C eintrifft, und anhand des Wertes entscheiden wie's weitergehen soll.