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.
您好:
目前透过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的。