Du bringst Master/Slave und Empfangen/Senden durcheinander.

Der Master unterscheidet sich vom Slave dadurch das nur er die Verbindung auslösen kann. Ein Slave muss ständig die I2C-Ports kontrollieren ob der Master was von ihm will.

man könnte natürlich abwechselnd mal den und mal den als Master verwenden, aber dann wäre immer gleichzeitig der andere SLave. Der Master gibt ja die I2C Taktraten vor - der Slave muss nur antworten. Wenn der Maste reinen Sendebefehl schickt, muß der Slave die Bits im Takt des Masters annehmen. Gibt der Master einen Empfangsbefehl vor, dann muß der Slave einen Wert (im Takt des Masters) senden.
Der Matser ist halt der Chef - zwei Chef´s vertragen sich nicht im Büro. Abwechseln dürfen sie sich aber in der Chefrolle, wenn der andere die Arbeit des Mitarbeiters macht.