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.

Analog LaunchPAD 提供的board.WriteI2C函数问题

Other Parts Discussed in Thread: ALP

最近在做视频采集,用的TI的方案 : Host -> 964Q1 -> 913Q ->Sensor(AR系列 i2c地址是0x20)  遇到一个问题  就是Sensor的寄存器地址是16位的! 

所以请问下  如标题所述  board.WriteI2C函数 能读写一个16位地址的寄存器吗? 比如board.WriteI2C(0x20,,0x3028,[0x00,0x10])? 

另外这种写法后面数据位是代表连续写两个8bit数据吗?  高位数据是0x00,低位数据是0x10?  能不能这样写board.WriteI2C(0x20,,0x3028,0x0010)?

现在卡在913读写Sensor这上面了  麻烦知道的解答一下  谢谢  很着急!

  • board.WriteI2C能支持16bit写操作,但不能支持16bit读操作,关于写的格式,比如按照您这里的要求,要给16bit地址为0X3028写data 0X10,那么格式应该为board.WriteI2C(0X20, 0x30, [0x28, 0x10])
  • 好的 非常感谢!! 现在有另外一个问题 想请教下 就是我用实际的HOST 写IIC驱动来读写964,不用ALP软件来测试了,那么如何操作远程的串行器呢,比如913;因为跟HOST有连接关系的是964,那么读写964时 iic函数的地址可以写964的,那么想要读写913的呢?如何操作?是不是先将913的地址写入964的0x5c(Slave ID)寄存器,然后调用HOST端的iic读写函数时,将原先964的iic地址改成913的地址就行了呢?类似于ALP的操作,同理,操作更远端的sensor时,也是一样呢?