I2C的AT24Cxx 与 FLASH W25QXX 页写区别

2019-07-21 03:30发布

本帖最后由 hezhenghedao 于 2019-4-4 22:39 编辑

最近看了两种存储器,关于页写的几个问题分析注意:I2CAC24CXX是不可以跨页写入的,地址是要对齐8能整除的,例如,地址0写一页8个刚好,如果你从地址2开始写8个那么只能写进6个,后面两个数据就是覆盖前面两个数据,这个一定要数注意,要自己写函数先写入前6个数据,再写后面两个数据。但是FLASH W25QXX的页写是可以跨页的,与擦除指令不一样(整页擦除),页写入指令的地址并不要求按256  字节对齐,只要确认目标存储单元是擦除状态即可(即被擦除后没有被写入过)。所以,若对“地址x”执行页写入指令后,发送了200 个字节数据后终止通讯,下一次再执行页写入指令,从“地址(x+200)”开始写入200 个字节也是没有问题的(小于256 均可)。只是在实际应用中由于基本擦除单元是4KB,一般都以扇区为单位进行读写
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
03零三邓何芯桃
1楼-- · 2019-07-21 04:09
帮你顶下帖子
七火
2楼-- · 2019-07-21 06:32
前者是按字节操作,可任意修改任何字节;后者是按扇区操作,最小擦除单位好像是4k
hezhenghedao
3楼-- · 2019-07-21 08:25
七火 发表于 2019-4-4 14:11
前者是按字节操作,可任意修改任何字节;后者是按扇区操作,最小擦除单位好像是4k

是的前者单个单个是可以任意多个,如果想任意长度写入话,就要才要这样处理,要不然跨页写好像有问题。

一周热门 更多>