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.

DS90UB929-Q1EVM: 无法透过外部I2C控制

Part Number: DS90UB929-Q1EVM
Other Parts Discussed in Thread: ALP

您好:

目前透过Arduino UNO的 I2C 对DS90UB929-Q1EVM J20 下指令,接法如下图,7 bit Slave ID 为 0x0C,先下Reg 0x65 data 0x04,再下Reg 0x64 data 0x15,使用軟件Analog LaunchPAD可生成color pattern,但直接用Arduino I2C下达同样命令,虽有回ACK,但无法产生color pattern,是少了什么前置作业吗?

  • 您好,我看到您在另一个帖子中也咨询了类似问题,那么Arduino I2C控制的话,能收到ACK是发送完从机地址之后能收到是吗?

    Arduino UNO是否能和其他slave都能正常通信,但是和UB929EVM是不可以的是吗?

    因为Arduino UNO的 I2C 库理论上来说是可以和其他I2C设备兼容的。

  • ACK是发送完从机地址之后能收到是吗?

    是的,但对color pattern设定写入后再读回则return 0x00,且 DS90UB929EVM也沒有設定成功。

    Arduino UNO是否能和其他slave都能正常通信,但是和UB929EVM是不可以的是吗?

    是的,该MUC目前有控制过g sensor,是可以正常读写

    理论上应该和ALP script 一样Slave ID , register, data就能直接read/write,DS90UB929-Q1EVM在ALP软件可以仅用USB做I2C控制
    board.WriteI2C(0x18,0x64,0x15)

    board.ReadI2C(0x18,0x64)

    但换成Arduino 接J20上的I2C腳位虽有收到ACK表示有读写,却没有像ALP那样成功改动Color pattern

  • DS90UB929EVM版如果不透过ALP程式执行要直接用I2C执行时是不是有些INIT的动作,例如GPIO拉H或下某些I2C指令?
    目前我们的动作只有上12V就直接下I2C指令

  • 您好,抱歉回复晚了, 和您确认下,您是要通过FPD link devices进行local I2C通讯,还是通过双向控制通道进行remote 通信?

    如果进行remote通讯,那么需要主机I2C 支持clock stretching,但是大多数主机比如hobbyist MCU 平台 (想 Raspberry Pi)是不支持clock sretching的。

    另外,对于Arduino UNO 的I2C目前直接控制无法得到color pattern,我建议您可以直接找下相关资料或者Arduino 的技术人员,看下是如何控制I2C的。 

x 出现错误。请重试或与管理员联系。