使用da14531读取多个i2c设备

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
7个职位/0个新职位
最后一篇文章
斯利帕蒂
离线
最后一次见到:7个月1周前
已加入:2020-03-18 12:45
使用da14531读取多个i2c设备

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

//I2C静态常量I2C\u cfg\u t I2C\u cfg={.clock\u cfg.ss\u hcnt=I2C\u ss\u SCL\u hcnt\u regu RESET、.clock\u cfg.ss\u lcnt=I2C\u ss\u SCL\u lcnt\u regu RESET、.clock\u cfg.fs\u hcnt=I2C\u fs\u SCL\u hcnt\u regu RESET、.clock\u cfg.fs\u lcnt=I2C\u fs\u SCL\u lcnt\u regu RESET、.restart\u en=I2C\u restart启用、.speed=I2C\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对话框
离线
最后一次见到:5天22小时前
工作人员
已加入:2018-02-08 11:03
你好,斯利帕蒂,

你好,斯利帕蒂,

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

谢谢,下午好

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

你好,

是的

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

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

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

你好,斯利帕蒂,

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

谢谢,下午好

杰斯盖德
离线
最后一次见到:2周2小时前
已加入: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对话框
离线
最后一次见到:5天22小时前
工作人员
已加入:2018-02-08 11:03
你好,杰斯盖德,

你好,杰斯盖德,

感谢您的评论和反馈!

谢谢,下午好