STM32F103 SPI 主机模式分析
STM32F103的SPI模塊,跟通用SPI芯片的工作模式有些區(qū)別,手冊上也沒有特別注明,所以光看手冊有時候還不容易理解。
STM32上的不同之處在于SPI模塊工作在主機模式時,模塊內(nèi)部有一個控制腳必須由外部給它保持為高電平狀態(tài)才能工作,為了方便描述這里就簡稱為CS_ENABLE腳。有了這個概念,里面的各種邏輯關(guān)系就比較清晰了。
這里主要分析主機模式,從機模式?jīng)]有什么特別之處,就簡單帶過了。先看一下手冊上的結(jié)構(gòu)圖:
要保持CS_ENABLE為高電平,只能通過紅線標識的2個途徑來實現(xiàn),但如果選擇NSS,那么NSS就不能作為其他用途了。
但主機模式下在某些時候還要考慮從機片選信號的控制,這時候NSS就不能作為CS_ENABLE高電平的維持信號了。下圖標識輸出從機控制的片選時的信號途徑:
這種模式下,CS_ENABLE信號的高電平狀態(tài)必須有SSI來維持!
?
另外還有一種情況,就是SPI模塊不使用NSS腳,相當于跟NSS斷開連接,NSS作為通用IO口來使用,SPI模塊不控制從機的片選信號,由軟件的方式通過控制通用IO口來實現(xiàn),如下圖:
?
這種情況,CS_EANBLE的高電平狀態(tài)必須由SSI來維持。
?
綜上,再結(jié)合控制寄存器的定義,理解起來應(yīng)該就比較簡單了!
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的STM32F103 SPI 主机模式分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32的启动分析
- 下一篇: 共享库中的位置无关代码(PIC)