使用DA14531读取多个I2C设备

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
7个帖子/ 0新
最后一篇
Sripathi.
离线
最后一次露面:6个月1周前
加入:2020-03-18 12:45
使用DA14531读取多个I2C设备

我们正在使用DA14531开发套件,并尝试与两个I2C传感器,Azotec TrackPad模块和MCP23017 GPIO扩展器进行通信。我们为模块提供了写入驱动程序,并且能够独立地与模块通信,但是当我们同时尝试与两者进行通信时我们面临问题的模块。在我们的代码中,我们已声明I2C配置结构

//配置结构为I2C静态常量i2c_cfg_t i2c_cfg = {.clock_cfg.ss_hcnt = I2C_SS_SCL_HCNT_REG_RESET,.clock_cfg.ss_lcnt = I2C_SS_SCL_LCNT_REG_RESET,.clock_cfg.fs_hcnt = I2C_FS_SCL_HCNT_REG_RESET,.clock_cfg.fs_lcnt = I2C_FS_SCL_LCNT_REG_RESET,.restart_en = I2C_RESTART_ENABLE,。速度= I2C_SPEED_FAST,.mode = i2c_mode_master,.addr_mode = i2c_addressing_7b,.address = mcp23017_address,.tx_fifo_level = 1,.rx_fifo_level = 1,};

每次我们都与我们正在设置的I2C设备进行通信

i2c_set_target_address(i2cdevice_address);

并尝试与设备进行通信。

您可以将我们指向一些关于如何与多个I2C设备同时通信的示例。我们经历了EEPROM榜样,但事情尚不清楚。非常感谢您的帮助。

PM_DIALOG.
离线
最后一次露面:7小时46分钟前
职员
加入:2018-02-08 11:03
嗨Sripathi,

嗨Sripathi,

谢谢你的问题。因此,如果我能正确理解,您的要求是将2 x I2C从站连接到同一总线。我的理解是否正确?

谢谢,PM_DIALOG.

Sripathi.
离线
最后一次露面:6个月1周前
加入:2020-03-18 12:45
嗨,是的

你好,

是的

Sripathi.
离线
最后一次露面:6个月1周前
加入:2020-03-18 12:45
你能告诉我们吗?

您能否请告诉我们两个I2C从站的任何工作示例。谢谢

PM_DIALOG.
离线
最后一次露面:7小时46分钟前
职员
加入:2018-02-08 11:03
嗨Sripathi,

嗨Sripathi,

谢谢你的澄清。没有这样的示例,并且不可能同时和在同一总线上与2个I2C从站交互。您应该同时只与一个从属互动。

谢谢,PM_DIALOG.

Jsageer.
离线
最后一次露面:3个月3周前
加入:2018-08-22 13:18
你好,

你好,
不确定是否仍然相关,我通过创建I2C_Target_Select函数来解决它,该函数重新初始化具有新的参数集(例如,不同的目标地址)。通信不会严格地同时发生但顺序地发生,一旦一个转移完成,另一个开始就开始。

不幸的是,只有在禁止I2C外设时才调用I2C_SET_TARGET_ADDRESS功能,并且由I2C_INIT使用以设置外设。

BR,J.

PM_DIALOG.
离线
最后一次露面:7小时46分钟前
职员
加入:2018-02-08 11:03
嗨Jsagerer,

嗨Jsagerer,

感谢您的评论和反馈!

谢谢,PM_DIALOG.