我用了这2个函数,当NbOfBytes大于或等于2时,没有问题。当NbOfBytes为1时,写入的数据能够读出来,但是EEPROM_Receive执行后,发现SDA没有变高,只能从新上电才恢复。
void EEPROM_Send(I2C_TypeDef *I2Cx, char *PtrToBuffer, u8 NbOfBytes, u8 InternalAddress); void EEPROM_Receive(I2C_TypeDef *I2Cx, char *PtrToBuffer,u8 NbOfBytes, u8 InternalAddress); |