使用da14531读取多个i2c设备

了解更多常见问题教程

7个职位/0个新职位
最后一篇文章
斯利帕蒂
离线
最后一次见到:2个月2小时前
已加入:2020-03-18 12:45
使用da14531读取多个i2c设备

我们正在使用da14531开发工具包,并试图与两个i2c传感器,azotec轨迹板模块和MCP23017GPIO进行通信扩展器。我们已经为模块编写了驱动程序,并且能够独立地与模块通信,但是当我们同时尝试与两个模块通信时,我们面临一个问题。在我们的代码中,我们将i2c配置结构声明为

//I2C静态常量I2C\u cfg\u t I2C\u cfg={.clock的配置结构_cfg.ss\hcnt文件=I2C\U SS\U SCL\U HCNT\U REG\U RESET,.时钟_cfg.ss\lcnt文件=I2C\U SS\U SCL\U LCNT\U REG\U RESET,.时钟_cfg.fs\hcnt文件=I2C\U FS\U SCL\U HCNT\U REG\U RESET,.时钟_cfg.fs\u lcnt文件=I2C\u FS\u SCL\u LCNT\u REG\u RESET、.restart\u en=I2C\u restart\u ENABLE、.speed=I2C\u speed\u FAST、.mode=I2C\u mode\u MASTER,.addr\u mode=I2C\u ADDRESSING\u 7B,.address=MCP23017\u address,.tx\u fifo\u level=1,.rx\u fifo\u level=1,};

每次我们与i2c设备通信时,我们都在设置功能

i2c\设置\目标\地址(i2c设备\地址);

并尝试与设备通信。

您能给我们举几个例子说明如何与多个i2c设备同时通信吗。我们看了eeprom的例子,但事情还不清楚。非常感谢你的帮助。

PM\U对话框
离线
最后一次见到:2天7小时前
工作人员
已加入:2018-02-08 11:03
你好,斯利帕蒂,

你好,斯利帕蒂,

谢谢你的问题。所以,如果我能正确理解,您的要求是连接2个I2C从机到同一总线。我的理解正确吗?

谢谢,下午好

斯利帕蒂
离线
最后一次见到:2个月2小时前
已加入:2020-03-18 12:45
嗨,是的

你好,

是的

斯利帕蒂
离线
最后一次见到:2个月2小时前
已加入:2020-03-18 12:45
你能告诉我们吗

您能告诉我们两个i2c从机的工作示例吗。谢谢

PM\U对话框
离线
最后一次见到:2天7小时前
工作人员
已加入:2018-02-08 11:03
你好,斯利帕蒂,

你好,斯利帕蒂,

谢谢你的澄清。没有这样的例子,不可能在同一总线上同时与2个I2C从机交互。您应该同时只与一个从机交互。

谢谢,下午好

杰斯盖德
离线
最后一次见到:1天5小时前
已加入:2018-08-22 13:18
你好,

你好,
不确定它是否仍然相关,我通过创建一个i2c\u target\u select函数来解决它,该函数用一组新的参数(例如不同的目标地址)重新初始化i2c外围设备。严格来说,通信不是同时进行的,而是按顺序进行的,一次传输完成后,另一次传输就开始了。

不幸的是,只有当i2c外设被禁用时,i2c\ u set\ u target\ u address函数才能被调用,i2c\ u init使用它来设置外设。

比尔,J

PM\U对话框
离线
最后一次见到:2天7小时前
工作人员
已加入:2018-02-08 11:03
你好,杰斯盖德,

你好,杰斯盖德,

感谢您的评论和反馈!

谢谢,下午好