以下是我个人针对 flash w25x32 芯片的总结:
1. 对 flash 写数据。前提要做好必要的处理,首先要写入状态(取消写保护),写状态要 15ms 时
间,写状态之前要打开写使能,状态写完会自动关闭写使能。其次是擦除(最小可以擦除一个扇
区 4k,需要时间 300ms;其次区域大些可以块擦除 64k,需要 2s;也可以整个芯片擦除,但需要
80s),擦除之前要打开写使能,擦除完会自动关闭写使能。最后可以写数据了,当然写数据之前
要打开写使能,写完一次会自动关闭写使能,所以下一次写之前又要打开写使能,还有每次写数
据的间隔要延时 3ms,读数据不需要延时。
2. 由于芯片中分了页,扇区,块,所以连写多个字节的数据时肯定会涉及到跨页和跨扇区。跨页
或者跨扇区是不能连写的,如果每次写的字节是不定的那只能拆开写,如果每次写的字节是固定
的个数(256 能整除以的数),所以连写时要处理好跨页或者跨扇区的问题。
3. 如果该扇区中有被写保护则扇区擦除和块擦除会失败,其它扇区可以被擦除,只要被擦除的区
域没有保护着。如果是整个芯片擦除只要是有写保护在,则整块芯片会擦除失败。
一定注意:执行檫除操作后需要适当的延时,不然你的数据写不进去,所以你读出来的数据全是0xFF.
我的QQ号:694117705 有技术问题可以一起讨论,加我时注明自己名称。