各位好,最近在调试PIC24的I2C时,遇到读外部EEPROM异常,写外部EEPROM正常的问题,查了一段时间,还是未找到原因。
硬件使用I2C2,上拉电阻为4.7K,工作电压3.3V,通信速率100K,代码函数调用xc16中的库函数。
写操作时,用逻辑分析仪测量,可以依次看到下列时序:开始->设备写地址(应答)->寄存器高地址(应答)->寄存器低地址(应答)->数据(应答)->停止。周期性操作,也可以看到上述现象(示波器也可见)。
读操作时,用逻辑分析仪测量,看到的时序是:开始->设备写地址(应答)->寄存器高地址(应答)->寄存器低地址(应答)->重新启动->设备读地址(应答)-> 时钟线被一直拉低,数据线一直为高。
试过改变通信速率、上拉电阻、EEPROM型号、I2C1接口,现象一样。
初次接触PIC,不知道各位有谁遇到过这种问题吗? |