好吧,我已经坚持了一段时间,目前大概需要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命令,因此我知道它可以听到我的声音并且可以响应。我目前不知道我在做什么错。我想我将重新阅读数据表,并尝试一些尝试,但是如果有人有任何见解,我将不胜感激。这将是又一个令人沮丧的周末,正在研究这个问题。
10
而且...我想通了。如果我每次都能拿到一美元,在终于变得绝望地向某处寻求帮助之后,我想出了一些办法。原来还有另一个名为全局解锁的命令0x98,有关写使能或编程的章节中未提及……总之,在我的WREN命令之前添加了该命令,它就起作用了。抱歉打扰了。
—
2015年
添加您的评论作为答案并接受。
—
geometrikal
同意@geometrikal,您应该回答自己的问题。除了PIC SPI接口外,我什么都没有。出于完全相同的原因:文档。
—
User.1 2015年
嗨!您大约一年前发布了一个很好的问题,然后在评论中发布了一个很好的答案。但是问题仍然出现在“未答复”列表的顶部!请将您的评论复制到答案中并标记为“已接受”。这样,它将得到正确的管理,我们可以
—
投票支持
@confused,请发布您的答案并将其标记为已回答,以便我们可以结束问题,谢谢
—
Voltage Spike