我想请问一下,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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |