[STM32F1] W25Q16 写保护后如保解除?

[复制链接]
 楼主| supernan 发表于 2018-11-6 21:00 | 显示全部楼层 |阅读模式
W25Q16 写保护后如保解除?
huwr 发表于 2018-11-6 21:03 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| supernan 发表于 2018-11-6 21:07 | 显示全部楼层

大致如下:
write_enable()
{
    cs = 0;
     write_byte(0x06);
    cs = 1;

}
write_disbale()
{
    cs = 0;
     write_byte(0x04);
    cs = 1;

}

write_protect()
{
    cs = 0;
     write_byte(0x01);
     write_byte(0x1c);//保护全部   BP2 =1, BP1=1, BP0 =1
    cs = 1;
}

write_unprotect()
{
    cs = 0;
     write_byte(0x01);
     write_byte(0x00);//解除保护
    cs = 1;
}


大概的函数如上,现在是这样,不加写保护的话,数据是非常正常的,可读可写可擦
现在改成,如下所示后,包括擦除函数也是,前加了解除保护,后加了保护后,变成可读不可写不可擦
大概意思就是想在写数据或擦数据写先解除保护,操作完后再加上保护,  写保护与解除保护有问题词吗??
 楼主| supernan 发表于 2018-11-6 21:10 | 显示全部楼层
write_data()
{
write_enable();
write_unprotect()
写数据,略
write_protect()
write_disbale()
}
bqyj 发表于 2018-11-6 21:15 | 显示全部楼层
看看WP管脚的状态
bqyj 发表于 2018-11-6 21:18 | 显示全部楼层
通常情况下WP都是被拉高的
dingy 发表于 2018-11-6 21:21 | 显示全部楼层
你这个程序时序有点问题吧
幸福小强 发表于 2018-11-6 21:22 | 显示全部楼层
见鬼了,这不是个老帖吗
 楼主| supernan 发表于 2018-11-6 21:24 | 显示全部楼层

搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
幸福小强 发表于 2018-11-6 21:34 | 显示全部楼层
换个新的。
幸福小强 发表于 2018-11-6 21:34 | 显示全部楼层
或者看看能否格式化。
磨砂 发表于 2018-11-7 09:56 | 显示全部楼层
我把407也给弄的写保护了
晓伍 发表于 2018-11-7 10:02 | 显示全部楼层
我也很关心这个问题
wowu 发表于 2018-11-7 14:22 | 显示全部楼层
是不是所有的都是一个道理啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

730

主题

10412

帖子

6

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