我在Ti的EK-TM4C1294XL上工作,这基本上是一个Arm Cortex M4评估板。我正在通过同样的I2C总线,并且有关于I2C总线的以下问题。
我知道I2C支持多主多从配置。因此,当我们想要从特定的主机向特定的从机发送数据时,我们首先在总线上写入来自该主机的从机地址,然后在接收到Ack之后,将数据传输到该从机。
因此,在相同的情况下,我希望从特定的从设备接收到特定主机的数据,但是从设备可以启动通信吗?假设从设备是一个ADC,一旦转换完成,就将转换后的数据发送给特定的主设备。这在I2C中是可能的吗?
发布于 2016-08-03 03:19:53
在I2C中,主机始终启动与从机的通信,即使它仅供从机发送数据。起始条件后的第一个字节将包含一个7位地址和一个指示它是写入还是读取的位。如果从机的类型可能具有异步事件(即运行连续转换的模数转换器),通常我希望看到与I2C总线分离的信号(注意信号、中断信号,或者如果您的I2C设备实际上是SMBus设备,则为SMBALERT#),它会改变状态以指示事件已发生,主机应查询该设备。
https://stackoverflow.com/questions/38597075
复制相似问题