本帖最后由 编号10086 于 2021-7-23 11:40 编辑
【问题描述】:如图所示,官方的例程,官方的开发板。不知道我是不是个例,大哥们如果也有这块板子的,麻烦试一下,给我个反馈。。。
2021.7.23 更新:
【解决方法】:
把官方例程中的
改为
【说明】
经过另外一个群友的测试,他的板子也有这个问题,所以这个应该不是个例。
后来查阅了官方开发板上的SPI_FLASH型号,我这块应该是W25Q128JVSIQ
数据手册
1489627409956.pdf
(1.98 MB)
查阅数据手册中的时序图
这款SPI_FLASH支持模式0和模式3。
那理论上按照官方说明的配置应该是没错的呀...应该就是 CPOL 0 ,CPHA 0就行了。。
但是实际上我用逻辑分析仪观察,这是我发读芯片的ID的时序图,我发的是9F 00 00 00 ,
其中9F用模式0去解码
用模式2去解码
也就是说
其实代表了模式CPHA 1,
而
其实代表了CPHA 0??
带着疑问,看一下手册
对比一下别的芯片的手册(GD32,STM32等)
左边为KF32,右边为GD32
好吧,人家是采集数据,你是发送数据。
所以应该是例程里面写错了,我们需要第二个时钟沿,发送数据(也就是第一个时钟沿采集数据。)
|