stm32的I2C主控如何只接收数据?

问题描述 投票:0回答:2

现在我有两个stm32芯片,两个stm32的I2C连接到同一个设备,一个stm32用于向设备发送数据,也用于接收数据;另一个stm32只接收设备返回的数据,我该如何为这个stm32设置I2C?

我不知道如何设置另一个仅接收数据的I2C参数。

stm32 i2c
2个回答
0
投票

只有I2C主机可以发起通信。当 I2C 主设备想要从从设备读取某些内容时,主设备会向其发送数据请求。

一些 I2C 从设备可以有一个特殊的中断引脚,它可以向主设备发出信号(通过 GPIO 上升/下降沿中断)它们有一些东西要从中读取,但它不是 I2C 的一部分(而且看起来并不就像你这里有类似的东西一样)。

我给你的建议是:
在两者上使用完全相同的 I2C 配置,只是不要在第二个 MCU 上使用“发送”功能。


0
投票

您无法使用标准 I2C 通信来实现此目的,因为 I2C 主设备只能通过使用 I2C 地址对从设备进行寻址来与指定的 I2C 从设备进行通信。您的第二个 MCU 既不是主 MCU,也不是从属 MCU。您需要一个I2C 嗅探器,它使用两个 GPIO 引脚和中断来拦截 I2C 总线上的数据。

© www.soinside.com 2019 - 2024. All rights reserved.