欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

在嵌入式開發中,怎么開發SPIIIC的驅動程序?

錢琪琛2年前15瀏覽0評論

SPI和IIC都是比較常用的短距離通訊方式,主要用在PCB板間或者芯片之間實現近距離通信。比如AT24C02就是通過IIC和單片機實現數據通信的,BMP280即可以通過IIC又可以通過SPI和單片機進行數據通信。

這兩種通信方式都有著各自的時序圖,在編程時需要認真研究時序圖,根據時序圖編寫程序,下面舉例子。

SPI通訊時序介紹

SPI是比較高速的通訊方式,具有三線制和四線制之分,四線制有CS,SCK,MISO,MOSI等。SPI具有四種工作模式,并且時鐘極性CPOL和時鐘相位CPHA可以配置,這個在編程序時需要注意:如果CPOL=0,則空閑狀態為低電平;如果CPOL=1,則空閑狀態為高電平。CPHA決定著在哪個邊沿進行數據采集。如果CPHA=0,則在第一個跳變沿進行數據采樣;如果CPHA=1,則在第二個跳變沿進行數據采樣。

對于具體程序代碼的編寫,可以根據時序圖慢慢研究,或者參考別人的代碼和時序圖進行對比。

IIC通訊時序介紹

IIC只有兩根線,分別為SCL和SDA。主從式結構,一個主機可以接多個主機,典型的拓撲結構圖如下所示。

IIC在通訊時,需要需要有三個過程/信號:開始信號、應答信號和結束信號。每種信號都有嚴格的時序要求。以起始和結束為例介紹一下,時序圖如下所示。

在SCL為高電平期間,如果SDA出現下降沿則為起始信號;如果SCL為高電平期間,SDA為上升沿,則為結束信號。在編程時就要依據這個時序圖。IIC可以使用普通GPIO口模擬,也可以使用單片機的片上資源,開始信號的實現代碼如下所示。

程序的實現沒法細細解釋,只能自己去編代碼,可以自己對著時序圖去編寫,也可以從網上參考代碼。

如果有具體的問題可以再次在悟空提問。

以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本:玩轉嵌入式。感謝大家。