好吧,我已经坚持了一段时间,此时可能需要 2-3 周。我只是不确定我做错了什么。我正在尝试写入这个spi flash 部分,现在我只是运行例程来擦除、写入和读取以尝试隔离它,但到目前为止还没有运气。当然,我一路上解决了一堆错误......
不管怎样,我的 WP 线在板上绑得很高,我已经把时钟放慢到 200khz,然后我运行我的擦除例程,它看起来像这样:
首先我检查ID只是为了调试,即9F命令,然后我用06命令设置WREN,C7是整个芯片擦除,然后我用05检查状态位,它很清楚。这东西的芯片擦除时间只有35ms。
现在我重新加载我的代码并尝试写入:
首先我将WREN设置为06,查看状态看WREN设置为05,是的,然后将页面编程命令02发送到地址0x000000。你可以看到我正在写 deadcafe 作为前几位。此处未显示的是在写入完成后(一页或 256 字节),我发送 0x04 命令以禁用 WREN。我观察到了这一点,并且我确实将页面缓冲区的最后四个字节设置为 0xAA、0x55、0xAA、0x55,并且我在 CS 变高之前看到了它们。
现在停止重新加载代码并尝试运行读取周期: 发送 0x03 作为读取命令,发送 0x000000 作为地址,并且......从设备返回所有 0xFF。
我可以看到设备响应我的读取 ID 并设置 WREN 命令,所以我知道它听到了我的声音,并且可以响应。我不知道我在这一点上做错了什么。我想我会回去阅读数据表,并尝试一些事情,但如果有人有任何见解,我将不胜感激。它正在形成另一个令人沮丧的周末,在这件事上工作。