flash写一次数据两个地址的值同时变化

2019-07-20 14:00发布

      使用例程写flash W25Q16、W25Q64。W25Q16写Block25,Block57对应地址的值同时变了(值同Block25,写Block57,Block25对应的值也会变,只有这两个块这样)。W25Q64写Block0~127,Block128~255会同时改变。在调用W25QXX_Write_Page向一个地址写值的前后,对应的另一个地址的值就随之改变了。求助啊~这是什么原因???有什么解决办法
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
335920284
1楼-- · 2019-07-20 17:17
 精彩回答 2  元偷偷看……
335920284
2楼-- · 2019-07-20 19:54
W25Q64从你描述来看是不是Block128实际上地址溢出了,才造成写了block0.
德拉
3楼-- · 2019-07-20 22:31
335920284 发表于 2017-6-15 10:32
W25Q64从你描述来看是不是Block128实际上地址溢出了,才造成写了block0.

W25Q64的看着像地址溢出,标的是8M的啊~不过W25Q16的怎么解释呢,一对中间的块。。
335920284
4楼-- · 2019-07-21 03:56
 精彩回答 2  元偷偷看……
德拉
5楼-- · 2019-07-21 08:03
 精彩回答 2  元偷偷看……
德拉
6楼-- · 2019-07-21 12:18
335920284 发表于 2017-6-15 11:11
仔细看下手册块大小,命令 地址 数据宽度,结合程序仔细检查,或者直接示波器看波形,分析时序。FLASH坏掉 ...

看的中文的datasheet,flash块示意图 与英文版不一样,导致对块总数认知错误。。。W25Q16那个应该是以前测试不全面,都是地址溢出造成的。谢谢啦!

一周热门 更多>