我想请问一下,i2c的从机数量有限制吗?看到有人说最大八个从机,
I2C_SetSlaveAddr(I2C_MS_PORT, 1, 0x15, 0); /* Slave Address : 0x15 */
I2C_SetSlaveAddr(I2C_MS_PORT, 1, 0x35, 0); /* Slave Address : 0x35 */
I2C_SetSlaveAddr(I2C_MS_PORT, 2, 0x55, 0); /* Slave Address : 0x55 */
I2C_SetSlaveAddr(I2C_MS_PORT, 3, 0x75, 0); /* Slave Address : 0x75 */
这行代码,我是不是可以理解为从机数量最大为4? 另外,这几个地址有特殊意义吗?
共3条
1/1 1 跳转至页
i2c的从机数量有限制吗?
关键词: I2C 从机
2楼
I2C总线上通信节点的数量可以有很多,每个节点都可以做主机,或者过一段时间变为做从机,做从机时,可以配置4个地址。这个似乎意义不大,一个节点一般配置一个地址就可以了。
i2c的从机数量是有限制的,但数量的限制取决于i2c主机的能力和硬件实现。根据i2c规范,一个i2c主机可以支持最多112个从机地址,其中一部分是保留地址,不能使用。因此,实际可用的从机数量可能会小于112。
在你给出的代码中,设置了三个从机地址,分别是0x15、0x35和0x55。这样设置是合法的,只要这些地址没有超过主机所能支持的数量限制。但是,你需要确保每个从机的地址是唯一的,不与其他从机或保留地址冲突。
如果你想要连接更多的从机,你可能需要使用多个i2c总线或使用i2c总线的多主机模式。另外,一些i2c扩展芯片(如PCA9548)可以帮助你扩展i2c总线的从机数量。
共3条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
| TCS3472S传感器及其色彩检测被打赏¥19元 | |
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
我要赚赏金
