W25Q128的写入过程不太理解,原子哥能给分析下吗?

2019-07-20 01:51发布

Flash是每次写入之前都要先擦除吗?
看程序的时候有一句 if(i<secremain) ,i<secremain不是没么也要擦除呢有超出扇区吗,为什也要擦除呢?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
Theone
2019-07-20 15:07
回复【4楼】sdjkjsdh:
---------------------------------
是这样的 
1.FLASH可用空间的数据应该是0xFF
所以检测到非0xFF(!0xFF)的值的时候就说明这个扇区写入了数据,如果要重新写入数据,只能先对这个扇区进行擦除,然后才可以写入FLASH;

2.数据写入到哪个位置,是要看你给这个函数提供的地址是什么,你可以通过提供的这个地址确定是属于哪个扇区,或者哪个块。
而且 我也不太清楚256个块是哪来的? 原子板上的是16M的FLASH。也不会只有256个块啊。

一周热门 更多>