找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1702|回复: 9
收起左侧

有关W25Q128芯片读写的问题 附单片机程序

[复制链接]
ID:526108 发表于 2023-7-9 13:44 | 显示全部楼层 |阅读模式
~~YHXO}A(FW@CMK1I159_YB.png
flash我是以扇区进行读写的,要读就读4K要写就写4k,addr从0开始,每一个addr都代表一个扇区

一次写入比较少的扇区时读出来的数据没问题,但是一次写入较多的扇区时读出来的数据就对不上了

W25Q128用来存字库,字库有2MB大,从扇区0开始写,需要512个扇区

我写进去在读出来发现数据对不上,但是少写一点,写一个开头读出来就能对的上

我反复用计算器计算这个地址偏移没发现有问题,不知道那问大神能发现问题所在
回复

使用道具 举报

ID:111463 发表于 2023-7-10 15:48 | 显示全部楼层
程序没有问题,应该是要注意写入之后等待写入完整,然后读取
回复

使用道具 举报

ID:526108 发表于 2023-7-10 22:04 | 显示全部楼层
sbskywalker 发表于 2023-7-10 15:48
程序没有问题,应该是要注意写入之后等待写入完整,然后读取

我用上位机软件按扇区大小发送数据,每发送完一扇区会等待下位机应答才会发送下一扇区数据
回复

使用道具 举报

ID:1065084 发表于 2023-7-11 08:35 | 显示全部楼层
Page Program Time 0.7 3 ms
回复

使用道具 举报

ID:1065084 发表于 2023-7-11 08:37 | 显示全部楼层
Page Program Time tPP 0.7 3 ms
Sector Erase Time (4KB) tSE 45 400 ms
擦除一个扇区是45-400ms  写一个扇区是 0.7-3ms  你确定够吗?你都没有芯片忙检测的代码
回复

使用道具 举报

ID:526108 发表于 2023-7-11 08:44 | 显示全部楼层
yuxuesuixing 发表于 2023-7-11 08:37
Page Program Time tPP 0.7 3 ms
Sector Erase Time (4KB) tSE 45 400 ms
擦除一个扇区是45-400ms  写一 ...

既然有扇区写成功说明擦写没问题
回复

使用道具 举报

ID:1065084 发表于 2023-7-11 08:52 | 显示全部楼层
qq624353765 发表于 2023-7-11 08:44
既然有扇区写成功说明擦写没问题

不想多讲,擦除完成立刻进行写操作,明明手册有擦除的时间,你能写成功纯纯是因为之前内部就是没有数据的,。芯片手册给你了忙检测,你还认为自己的错误操作就是对的,连验证都懒得试一下。
回复

使用道具 举报

ID:526108 发表于 2023-7-11 12:21 | 显示全部楼层
yuxuesuixing 发表于 2023-7-11 08:37
Page Program Time tPP 0.7 3 ms
Sector Erase Time (4KB) tSE 45 400 ms
擦除一个扇区是45-400ms  写一 ...

有没有忙检测你不会看代码吗?你看不懂英文拿个翻译软件翻译一下,看看有没有这一步
回复

使用道具 举报

ID:526108 发表于 2023-7-11 12:24 | 显示全部楼层
yuxuesuixing 发表于 2023-7-11 08:52
不想多讲,擦除完成立刻进行写操作,明明手册有擦除的时间,你能写成功纯纯是因为之前内部就是没有数据的 ...

而且审题不清,我问的问题明明是扇区数据被覆盖了,不是没有写入
回复

使用道具 举报

ID:401564 发表于 2023-7-11 12:34 | 显示全部楼层
1,在写入擦除命令之前,要先读取WEL位,并写入写使能
2,在正确写入擦除命令,CS引脚搞高之后,要先等待擦除完成,再写入,页擦除是需要时间的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表