主题中讨论的其他器件:TPS65400、
尊敬的 Francis / Max:
我正在尝试建立 i2c 通信 b/w FTDI 和 tps65400。 我面临的问题与之前提到的问题相同、即我可以选择 tca9548a 的特定多路复用器通道、但由于 SCX 不切换、因此无法访问从器件。
此处提供了粗 python 代码(如果建议配置序列、这将很有帮助)
从 i2c 导入*
从 pyftdi.i2c 导入*
导入时间
I2C = I2cController()
I2C.configure ('FTDI://FTDI:2232h/1'、时钟拉伸=错误)### FTDI://FTDI:2232:FT2Y4V6J/1
结果= i2c.POLL (地址= 0x70、写入=错误、放松=真)
打印(结果)
从器件= i2c.get_port (0x70)
打印(从机)
定时休眠(0.00001)
打印(slave.frequency)
打印(slave.address)
SLAVE_2 = i2c.get_port (0x69)#基于数据表中使用的电阻器值和提到的地址
打印(从机_2)
打印(slave_2.address)
Slave.write (out=b'\x80'、ele=False、start=True)#通道4多路复用器-->这可以读回
Slave_2.write_to (regaddr=0x00、out =b'\x00'、elax = False、start = True) #page 0 slave2 tps65400不会返回
注:
绕过多路复用器、我能够与 tps65400通信。
FTDI、i2x 多路复用器位于一个板上。 tps65400位于单独的电路板中。
绕过这里的多路复用器代码
从 i2c 导入*
从 pyftdi.i2c 导入*
导入时间
编号
I2C = I2cController()
I2C.configure ('FTDI://FTDI:2232h/1'、时钟拉伸=错误)### FTDI://FTDI:2232:FT2Y4V6J/1
#获取 I2C 从设备的端口
I IN 范围(20)的#:
结果= i2c.POLL (地址= 0x69、写入=错误、放松=真)
打印(结果)
根据数据表中使用的电阻器值和提到的地址、从器件= i2c.get_port (0x69)#
打印(从机)
# slave.write (out = b'\x11'、Relax = True、start = True)
slave.write_to (regaddr=0x10、out = b'\x00'、elax = True、start = True)#disable write_protect