标准的I2C是没办法做到多主机一从。
不过你可以想想办法,主机A与从机通讯时,主机B、C、D等IO口释放,设置为输入,并且这个几个主机不能发送和解析数据。
主机A通讯完成后,也释放总线,设置为输入。保证任何时候,只有一个主机和从机通讯。
这个及需要你这边做一个冲突检测机制,避免几个主机都去读一个从机,导致总线崩溃。
IIC协议本身不支持一从多主同时通信 所以这个不可能实现
但是如果你的所有iic设备都是单片机 你可以随时更改哪个是主机设备