你好,我用你们的DLPC300套件,Zynq7000的cpu用i2c连接dlpc300,使用2MB的W25Q16BLSNIG SPI芯片,该SPI flash芯片中烧写的从你们网站上下载的2MB的DLPR300PROM,RESET管脚置高之后,大概80ms左右,INIT_DONE管脚从高电平变为低电平,这说明自动配置已经成功了吧?然后我们用I2C读写DLPC300的寄存器时,地址是0x1B,比如读取0x03地址,发送0x36 0x15 0x03,测量波形通信正常,都有ACK响应。然后发送0x37,后面收到的都是4个0字节,不管读取任何地址,返回的都是0,请问这是怎么回事呢?哪里工作不正常吗?
我换一个0x1D地址进行读写,测试波形则都是无ACK响应的,这说明I2C总线工作应该是正常的,DLPC300也能正确响应地址匹配的命令,但是为什么就是读不出来有用的数据呢?
急等回答。
Jeremy Wu:
写DLPC300寄存器的顺序是(比如0x0F):
必须包括一个寄存器地址和4个字节数据(除去开始位和结束 START和STOP)
0x36 0x0F 00 00 00 00
读DLPC300寄存器的顺序是(比如0x0F):
先写0x36 0x15 0x0F
0x37
请提供读的波型.