话不多说 直接上资料
这是ZD24C64 数据手册里面的读写操作时序。
数据手册网上有很多相信大家也能随便就找到。
如下图所示:
这是使用iic按字节写操作
器件地址:我的是0xA0
来不及解释了赶快上车:
在下使用的是STM32_CubeIDE,个人觉得还是挺好用。
本人使用的版本为 Version: 1.8.0
使用stm32CubeIDE生成 硬件IIC 代码…(此处省略相关操作)直接上菜…
#define E2PROM_ADDRESS 0X00A0void E2PROM_Write(uint16_t WtireAddress,uint8_t *pData,uint16_t DatSize)
{HAL_I2C_Mem_Write(&hi2c2, E2PROM_ADDRESS, WtireAddress, 2, pData, DatSize, 1000);
}void E2PROM_Read(uint16_t ReadAddress,uint8_t *pData,uint16_t DatSize)
{HAL_I2C_Mem_Read(&hi2c2, E2PROM_ADDRESS, ReadAddress, 2, pData, DatSize, 1000);
}void E2PROM_DATA_Write(uint16_t WtireAddress,uint8_t *pData,uint16_t DatSize)
{uint16_t dataLength;//数据长度uint16_t i,j,AddressTemp;uint8_t *pDataTemp;pDataTemp = pData;dataLength = DatSize;AddressTemp = WtireAddress;for(i = 0; i < ((DatSize/32) + 1); i++){if(dataLength > 32){j = 32;E2PROM_Write(AddressTemp,pDataTemp,j);dataLength -= 32;AddressTemp += 32;pDataTemp += 32;HAL_Delay(1);}else{E2PROM_Write(AddressTemp,pDataTemp,dataLength);}}
}