This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TCA9554:TCA9554A

Guru**** 2379110 points
Other Parts Discussed in Thread: TCA9554A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/703473/linux-tca9554-tca9554a

器件型号:TCA9554

工具/软件:Linux

您好!

我正在为 tca9554a i2c GPIO 扩展器编写 Linux 设备驱动程序。

我使用 i2c_smbus_read_Byte_data 从器件读取数据、使用 i2c_smbus_write_byte_data 写入数据。

我能够正确读取数据、但无法写入数据。 写命令不会产生任何错误(返回0表示成功)

但是、当我使用 userspace i2cdump 工具看到数据转储时、我看不到正在写入的寄存器内容。

有人对此有任何线索?

谢谢、

Prathamesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prathamesh、

    您是否能够看到写操作生效(例如、您是否可以将端口配置为输出并切换其状态)、但无法读回寄存器值、或者写操作根本不执行任何操作? 在写入操作期间、您是否使用起始条件发起、发送地址字节(LSB 值对应于硬件配置)、然后从器件接收确认(第九位拉低)? 在这之后、您是否发送命令字节(五个0、一个用于 R/W 指示、两个用于寄存器选择的位)、接收 ACK、然后写入数据? 并且、帧(在最终 ACK 之后)是否以停止条件终止? 如果我们可以查看扩展器输入端的 SDA 和 SCL 波形、看看我们是否可以识别任何潜在问题、这可能会有所帮助。

    此致、
    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Prathamesh、

    您是否能够解决此问题?

    此致、
    最大