OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8453|回复: 5

求助一下下,关于w25q128擦除扇区时候的疑问。

[复制链接]
zaoanshijie 该用户已被删除
发表于 2015-12-31 17:59:39 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-3-12
在线时间
18 小时
发表于 2015-12-31 17:59:40 | 显示全部楼层
本帖最后由 挣点圆子 于 2015-12-31 20:35 编辑

你可以自己写。读出数据保存在数组里----》擦除这个扇区----》将修改好的数组写回扇区。只需要3个子函数。
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
发表于 2016-1-26 22:26:29 | 显示全部楼层
挣点圆子 发表于 2015-12-31 17:59
你可以自己写。读出数据保存在数组里----》擦除这个扇区----》将修改好的数组写回扇区。只需要3个子函数。

我有个问一个就是,为什么擦除地址要乘于4096啊?
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-5-24
在线时间
5 小时
发表于 2017-3-27 16:43:09 | 显示全部楼层
1.以上的红色代码,我想请问一下w25q128的地址是24位的,secpos=WriteAddr/4096低3位不是应该没有了吗?
答:4096是2的12次方,是4KB,即一个扇区的大小,代码用secpos=WriteAddr/4096就是要确定WriteAddr位于哪一个扇区内。secpos获得的是扇区的编号。

2.W25QXX_Erase_Sector(secpos); 然后直接给这个函数的话不是将原来的地址WriteAddr的低三位去掉再发送。。那是不是擦除的是不是已经不是想擦除的扇区地址呢?
答:即擦除指定的扇区,参数是扇区的编号,扇区的首地址为secpos*4096。

比如:WriteAddr=0X007FFF00  那么secpos是不是等于secpos=0x000007FF呢?但是0X007FFF00  的扇区首地址不是0x007FF000吗?
求帮帮忙解释一下,谢谢了
答:secpos=0x000007FF,该扇区的首地址为secpos*4096=0x007FF000,扇区内偏移地址为4096-(WriteAddr-secpos*4096)=256。
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-9-4
在线时间
1 小时
发表于 2017-9-4 16:42:41 | 显示全部楼层
天风海雨 发表于 2017-3-27 16:43
1.以上的红色代码,我想请问一下w25q128的地址是24位的,secpos=WriteAddr/4096低3位不是应该没有了吗?
...

您好,我想问一下W25Q16,扇区擦除函数,输入的参数是扇区的编号0-511还是24位的字节地址?
回复

使用道具 举报

4

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2019-7-17
在线时间
40 小时
发表于 2019-10-25 11:58:03 | 显示全部楼层
青藤enjoy 发表于 2017-9-4 16:42
您好,我想问一下W25Q16,扇区擦除函数,输入的参数是扇区的编号0-511还是24位的字节地址?

是21位地址
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 01:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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