OpenEdv-开源电子网

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

SPIflash在写操作时,需要预先擦除吗?必须吗?用的是华邦W25Q32

[复制链接]

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
发表于 2012-9-22 20:30:59 | 显示全部楼层 |阅读模式
           在调试flash时  发现写进去的数据和读出来的数据不一样   
但是在读写之前  加上擦除芯片操作  读写就正确了  怎么回事  我不可能每次都擦除吧?
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2013-1-10
在线时间
10 小时
发表于 2016-2-4 12:30:52 | 显示全部楼层
flash里边可以认为是电容 充满电时为1  放完电后为0  只能一起充电,可以单个放电
个人博客www.xiaovdiy.cn
https://shop100764513.taobao.com/
回复 支持 2 反对 0

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2012-9-22 20:38:24 | 显示全部楼层
FLASH是每次都要擦除的啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-9-22 23:08:14 | 显示全部楼层
只要写的地址值是0XFF,还是可以写的。如果不是0XFF,就不能写了,得先擦除。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2012-9-24 09:24:40 | 显示全部楼层
回复【2楼】lsj9383:
---------------------------------
谢谢
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2012-9-24 09:25:38 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
谢谢  为什么0ff就可以写呢?  我的问题解决的  但是这个off还是不能理解啊。。。。
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

37

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2012-9-17
在线时间
4 小时
发表于 2012-9-24 09:47:19 | 显示全部楼层
应该是先擦除,然后才能写入呢,呵呵,我也是最近刚学这部分
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2012-9-24 13:56:21 | 显示全部楼层
在特定条件下 不用擦除

可以读一下 ,按bit跟你要写入的做比较, 只要 你写入1 的位 目前都是1 就不用擦除

原理:
 flash 的写,是 只能从1 -> 0  而不能 从0->1所以 在写1的时候,如果原来数据是0,想写入1的话,就需要擦除
这是由硬件结构决定的
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2012-9-24 13:56:58 | 显示全部楼层
擦除的目的 就是使得所有BIT 都是1
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2012-9-24 14:28:13 | 显示全部楼层
回复【6楼】murennan:
---------------------------------
共同学习  呵呵  谢谢
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2012-9-24 14:28:39 | 显示全部楼层
回复【8楼】aleda303:
---------------------------------
听你这么一说  貌似懂了  谢谢你
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-10-26
在线时间
2 小时
发表于 2012-10-26 09:01:58 | 显示全部楼层
回复【楼主位】czs:
---------------------------------
楼主那个w25q32的flash擦除程序可不可以给我一份呢,万分感谢liujinliang001@qq.com
回复 支持 反对

使用道具 举报

8

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2012-11-12
在线时间
22 小时
发表于 2013-1-15 15:08:40 | 显示全部楼层
回复【7楼】aleda303:
---------------------------------
刚学到这块,谢谢你的回答。但是还有疑问,就是为什么要送OXFF?,数据手册规定的?
还有就是为什么每次接收数据的时候需要先发送OXFF?我的理解是因为时钟是主设备提供,发送OXFF为了让从设备得以输出数据,
但是从设备是否会保存接收到的数据?
没人看你努力的过程,只看最后的结果。
回复 支持 反对

使用道具 举报

5

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2011-9-24
在线时间
9 小时
发表于 2013-1-15 15:26:28 | 显示全部楼层
回复【12楼】黄毛:
---------------------------------
spi是两边各有一个移位寄存器,想要获得数据,必须发生8位数据把从机中的移位寄存器中的8位数挤出来。
回复 支持 反对

使用道具 举报

8

主题

103

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2012-11-12
在线时间
22 小时
发表于 2013-1-15 15:32:04 | 显示全部楼层
回复【13楼】song19881218:
---------------------------------
好的,谢谢你。上面第一个问题已解决,是FLASH读写的问题
没人看你努力的过程,只看最后的结果。
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2013-3-13 10:39:22 | 显示全部楼层
谢谢楼上所以朋友。问题已经解决。。移植成功了。
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
发表于 2013-7-13 12:04:02 | 显示全部楼层
回复【7楼】aleda303:
---------------------------------
你好,我想问一下,SD卡中的存储介质也是flash,那么向sd写入数据时,是否也要进行擦除?
回复 支持 反对

使用道具 举报

7

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2012-12-21
在线时间
0 小时
发表于 2014-1-5 23:50:52 | 显示全部楼层
回复【16楼】EDA3rd:
---------------------------------
我也有这个疑问,请问你找到答案了吗
回复 支持 反对

使用道具 举报

63

主题

305

帖子

1

精华

高级会员

Rank: 4

积分
853
金钱
853
注册时间
2012-8-3
在线时间
79 小时
发表于 2014-1-13 19:27:45 | 显示全部楼层
回复【17楼】hunxiyi:
---------------------------------
写程序不需要。但凡是flash都需要擦除的,SD卡内部集成了Flash控制器,擦除工作由控制器自动完成,写程序可以直接把sd卡当做eeprom使用,但仍建议不要频繁写数据,因为flash始终是有寿命的。
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-8-14
在线时间
0 小时
发表于 2014-8-23 11:32:34 | 显示全部楼层
mark  .........................................
回复 支持 反对

使用道具 举报

2

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2014-1-28
在线时间
44 小时
发表于 2014-8-24 16:54:24 | 显示全部楼层
基本上,不是FF,就必须,擦拉,才能写入!
回复 支持 反对

使用道具 举报

1

主题

215

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2013-9-23
在线时间
4 小时
发表于 2014-8-27 14:34:06 | 显示全部楼层
学习了!!!!!
回复 支持 反对

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
发表于 2020-3-18 15:32:13 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

33

主题

218

帖子

0

精华

高级会员

Rank: 4

积分
568
金钱
568
注册时间
2015-1-12
在线时间
75 小时
发表于 2021-12-30 09:30:04 | 显示全部楼层
学习了 知道为什么FLASH写之前必须擦除了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 23:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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