答案 0 :(得分:2)
带出你的oscope,查看SPI总线(clk信号和你控制器的DO)。您的闪存数据表有一个时序图,显示数据应如何输入和输出(在每个时钟周期的边沿或中点),在什么边缘以及总线应该空闲的位置。
然后调整控制器上的设置,直到您从控制器中看到的内容与您在闪存数据表中看到的相匹配。
最后,请仔细阅读闪存数据表,它可能会像CS(芯片选择)引脚上升到结束并锁存数据之前的8位数据块或24位数据块一样。确保只在闪存需要时才这样做。
然后,它会起作用。 :-)祝你好运。
答案 1 :(得分:1)
当我编写类似的Flash芯片时,我有类似的症状。
我的问题是,我没有初始化其他芯片(RTC,UART等)的其他芯片选择线,所以它们默认为低。低芯片选择允许这些芯片驱动MISO(主输入,输出)数据线,这样微控制器就无法读取任何内容。