本帖最后由 无非0到1 于 2022-9-30 10:23 编辑
最近在使用N32WB452进行读写EEPROM,开发套件里面的IIC例程提供了读写AT24C02型EEPROM的例程,
经过测试验证可以正常读写,但是AT24C512型EEPROM时失败了,经过测试分析发现,由于两个型号的EEPROM内存不同,
导致IIC进行读写时的发送指令的要求不同。
AT24C02只有8*32=256个字节,所以只需要发送8位读写地址 2^8 = 256 AT24C512有128*512=65535个字节,所以需要发送16位读写地址2^16=65535 需要注意修改的是IIC从机设备的地址,这里都是0xA0不需要修改, AT24C02: 读写只需要发8位地址,IIC从机地址:0xA0 (A0、A1、A2都接GND), 页大小:8字节,读写时只需要发送8位的地址; AT24C512:读写需要发16位地址,IIC从机地址:0xA0 (A0、A1、A2都接GND),页大小:128字节,读写时先发送高8位地址,再发送低8位地址。
|