AT24C08读写注意!
定义AT24C02A页1 0 1 0 A2 A1 A0 R/W
通过P1 P0选择哪个页,一只最多2K
定义AT24C04A页
1 0 1 0 A2 A1 P0 R/W
通过P1 P0选择哪个页,一只最多2K
定义AT24C08A页
1 0 1 0 A2 P1 P0 R/W
通过P1 P0选择哪个页,一只最多2K
一个只可以写16个数据,注:起始地址不能为16的倍数
如:起始地址为:0,则可以一次写16个数据(0~15),读出来
数据从0~15对应的数据为0~15
起始地址为:2,则一次写16个数据(0~15),读出来的
数据从0~15对应的数据为14 15-0~13
>>>所以首地址要为16的倍数
***************************************/
#define __AT24Cxx_PAGE0 0xA0 //0~2K...
#define __AT24Cxx_PAGE1 0xA2 //2~4K...
#define __AT24Cxx_PAGE2 0xA4 //4~6K...
#define __AT24Cxx_PAGE3 0xA6 //6~8K...
EEPROM是很古老的存储器了,其页编程机制在手册上很强调,属于EEPROM基本知识了。
按照EEPROM不同容量,其页大小也不同。一个START,STOP组合若称为一个编程事务的话,那么一个事务是不允许跨页边界的! armstrong 发表于 2014-10-9 12:59
EEPROM是很古老的存储器了,其页编程机制在手册上很强调,属于EEPROM基本知识了。
按照EEPROM不同容量,其 ...
其实所有支持页写EEPROM都有一个scratchpad(即一小块内存)用于暂存数据。在写命令生效前,该缓存内数据可以随意写,地址虽然也是自增,但是毕竟就这么大点空间,溢出之后就回到开始了。包括DDRx,SDRAM在内都是一块scratchpad+一块超大容量阵列组成的。 wye11083 发表于 2014-10-9 13:29
其实所有支持页写EEPROM都有一个scratchpad(即一小块内存)用于暂存数据。在写命令生效前,该缓存内数据 ...
对,你说的就是这些芯片内部的构造;这种构造引出了使用者必须注意的跨页知识点。 很厉害的感觉{:shy:}{:shy:}{:shy:}
页:
[1]