版权声明:本文为博主(宽简厚重,Yuesichiu)原创文章,未经博主允许不得转载
https://blog.csdn.net/yuesichiu/article/details/80263365
最近在调试STM32F103VCT6的SPI读写Flash时报“The initial(idle) state of CLK line does not match the settings”错误。
刚开始以为是SPI CLK的BaudRatePrescaler这个数太小,导致CLK频率太高,后来修改了此参数,发现还是报此问题。这个很明显,提示CLK线信号的空闲状态不对(从逻辑分析仪的结果,CLK的空闲状态为低)。
于是仔细查看SPI Flash的芯片手册,其中描述了SPI Slave的CPOL和CPAH,应该设为模式0(CPOL=0,CPAH=0)或者模式3(CPOL=1,CPAH=1)。

使用逻辑分析仪抓包提示错误信息如下:

把CLK的空闲状态设为高(CPOL=1)之后就OK了
修改之后SPI逻辑分析仪就可以正确的解析了,如下图:

版权声明:本文为博主(宽简厚重,Yuesichiu)原创文章,未经博主允许不得转载
https://blog.csdn.net/yuesichiu/article/details/80263365
本文解决了一个在STM32F103VCT6上使用SPI读写Flash时遇到的问题:“The initial (idle) state of CLK line does not match the settings”。通过调整SPI配置中的CPOL设置,成功解决了CLK线的空闲状态不匹配问题。
2892

被折叠的 条评论
为什么被折叠?



