1. 程式人生 > >除錯SPI通訊時報“The initial(idle) state of CLK line does not match the settings”錯誤

除錯SPI通訊時報“The initial(idle) state of CLK line does not match the settings”錯誤

最近在除錯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邏輯分析儀就可以正確的解析了,如下圖: