i2c - 什么是通用调用地址以及它在 I2C 中的用途是什么?

标签 i2c

我想知道 I2C (0x00) 中的广播地址是什么。如果我们有一个主站和一些从站,我们可以通过这个地址通过我们的主站与这些从站通信吗?

最佳答案

I2C 规范 v.6 ( https://www.i2c-bus.org/specification/ ) 的第 3.2.10 节清楚地描述了通用调用的目的。

3.2.10General call address

The general call address is for addressing every device connected to the I2C-bus at the same time. However, if a device does not need any of the data supplied within the general call structure, it can ignore this address. If a device does require data from a general call address, it behaves as a slave-receiver. The master does not actually know how many devices are responsive to the general call. The second and following bytes are received by every slave-receiver capable of handling this data. A slave that cannot process one of these bytes must ignore it. The meaning of the general call address is always specified in the second byte (see Figure 30).


您可以使用它来与您的从站通信,但有三个限制。
  • 一般调用只能向slave写数据,不能读。
  • 每个slave都应该收到general call,你不能用它来寻址特定的设备,或者你必须在general call消息体中编码设备地址,然后在slave中解码。
  • 有标准的通用调用消息格式。您不应该为自己的功能使用标准代码。
  • 关于i2c - 什么是通用调用地址以及它在 I2C 中的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54574950/

    相关文章:

    linux-device-driver - I2C 设备 id 表的 driver_data 成员的使用

    c - STM32f10x -- ADS1115 -- I2C -- AF 标志始终设置

    linux - 如何使用 i2cget 从 i2c 读取数据?

    Linux 内核驱动程序异步 I2C(在 Raspberry PI 上)

    c - 从 RPI 到 HMCL3855L 的 I2C 通信故障排除

    generics - 具有泛型类型结构值的结构

    python - Python 中的 SMBus/I2C 在请求读取时不断触发接收回调

    c - stm32f4板上的usb otg与i2c冲突

    c++ - 将字符数组中的字符连接成一个整数

    linux - 未检测到 OMAP 3 Linux I2C SMBUS SmartBattery (SBS)