急,最近在写一个LPC1788的读写AT25DF321A的程序,请教大家了

[复制链接]
 楼主| chenke1988 发表于 2012-8-29 09:02 | 显示全部楼层 |阅读模式
最近在写一个LPC1788的SSP读写AT25DF321A的程序,出了点状况,AT25DF321A总共有64个sector,每个sector有256页,程序在进行读写(先向某一页写数据,后读出来)时,第一个sector能进行正常的读写,在第二个sector的最后一页的最后一个字节读写错误,第三个sector的最后一页的最后两个字节读写错误,第四个sector的最后一页的最后三个字节读写错误,第五个sector的最后一页的最后四个字节读写错误,第六个。。。。第七个。。。。出现了类似的错误。请大家给点指导,谢谢!
123654789 发表于 2012-8-29 09:09 | 显示全部楼层
在写之前有没有擦除  ????????
 楼主| chenke1988 发表于 2012-8-29 09:28 | 显示全部楼层
2# 123654789
我没有加擦除函数,因为我加了擦除函数后,不能正常读写的更多了。我只进行了向某一页先写然后再读出来,只是很不解为什么第一个sector就正常,后面的某些页就不正常了
 楼主| chenke1988 发表于 2012-8-29 09:29 | 显示全部楼层
2# 123654789
我没有加擦除函数,因为我加了擦除函数后,不能正常读写的更多了。我只进行了向某一页先写然后再读出来,只是很不解为什么第一个sector就正常,后面的某些页就不正常了,希望您能多给点指教!
 楼主| chenke1988 发表于 2012-8-29 09:29 | 显示全部楼层
2# 123654789
我没有加擦除函数,因为我加了擦除函数后,不能正常读写的更多了。我只进行了向某一页先写然后再读出来,只是很不解为什么第一个sector就正常,后面的某些页就不正常了,希望您能多给点指教!
123654789 发表于 2012-8-29 10:58 | 显示全部楼层
要注意的第一点
FLASH ROM 是要擦除了之后才能写的
这个特点是FLASH ROM跟其他的存储体不一样的地方
我以前也使用过FLASH ROM  那是华邦的W25Q80-DIP8
EEPROM就不用擦除 , AT24C02就属于EEPROM

另外对于同一个器件,写的速度要比读的速度慢
因此写如入了数据之后不要马上就读,
要等待里面的化学物质变化了才能读,
因此要等待一段时候之后才能读的
建议你降低读写的时钟频率
读写两个操作要有时间间隔
我以前弄那个W25Q80也出现你这个问题
后来加大读写两个操作要有时间间隔
所有问题都解决了
我以前拿W25Q80来存储声音的  , 很快就解决了
guokeqin 发表于 2012-9-24 19:09 | 显示全部楼层
学习中,,,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

58

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部