I2cTxBuffer[0]=0X06; //字节地址 I2cTxBuffer[1]=3; //数据 I2cTxBuffer[2]=2; I2CHW_bWriteBytes(0x50,I2cTxBuffer,3,I2CHW_CompleteXfer); while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE); I2CHW_ClrWrStatus(); 以上这个用硬I2C主控写一个FM24CL04存储器从未发生问题,由于系统需要后来设计成双I2C,把写FM24CL04用一个软I2Cm作为主控,结果经常发生写不上存储器。以下是I2Cm代码 I2Cm_bWriteBytes(0x50,I2cTxBuffer,3,I2Cm_CompleteXfer);
众兄给指点一下这是何原因,由于设计中系统设计成一个EZI2C模块必须保证通信连续性,且不能用动态配置,所以才会用这个I2Cm,
|