无非0到1 发表于 2022-9-30 10:23

AT24C02型和AT24C512型EEPROM进行IIC通信时的IIC代码区别

本帖最后由 无非0到1 于 2022-9-30 10:23 编辑

      最近在使用N32WB452进行读写EEPROM,开发套件里面的IIC例程提供了读写AT24C02型EEPROM的例程,
经过测试验证可以正常读写,但是AT24C512型EEPROM时失败了,经过测试分析发现,由于两个型号的EEPROM内存不同,
导致IIC进行读写时的发送指令的要求不同。

AT24C02只有8*32=256个字节,所以只需要发送8位读写地址 2^8 = 256AT24C512有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位地址。

软核硬核 发表于 2022-10-5 20:23

用AT24C512是不是还不如上Flash呢?

V853 发表于 2022-10-6 11:02

区别原来在这,一个系列的驱动代码确实不会有太大的区别~
页: [1]
查看完整版本: AT24C02型和AT24C512型EEPROM进行IIC通信时的IIC代码区别