不能设置写使能位和块保护
在一次项目跟新程序的时候偶然出现的问题。本文采用的flash芯片为w25q128
根据手册资料来读flash寄存器(0x05/0x35/0x15),读出来的错误值为0x40/0x01/0x30。
与正确的flash寄存器读出的值有所区别:0x00/0x02/0x60。
然后根据文档资料来写状态寄存器。
我是把读出来的值(正确的)通过写寄存器写进错误的芯片中,然后就可以正常读写了。
如果还是有误,可以降低时钟频率。(本文最开始使用给100m,后来改为25m)
注意:每次写寄存器都需要先写一次0x06寄存器。写使能拉高之后,WEL= 1才能正常写入
完成状态寄存器的读写之后,flsah芯片就能正常烧写程序了