STM32之模擬I2C的實現


一、什么是I2C?

  I2C是串行數據總線,有兩根信號線組成,一根是SDA(數據線),一根是SCL(時鍾線)。I2C總線是多主從總線,當有兩個主機或多個主機同時初始化傳輸數據時,可以通過沖突檢測和仲裁防止數據被破壞,每個連接到總線上的設備都有唯一的地址,任何器件既可以作為主機也可以作為從機,但是同一時刻只允許有一個主機。數據傳輸和地址皆有軟件實現。發送到SDA 線上的每個字節必須為8 位,每次傳輸可以發送的字節數量不受限制。每個字節后必須跟一個響應位。首先傳輸的是數據的最高位(MSB),如果從機要完成一些其他功能后(例如一個內部中斷服務程序)才能接收或發送下一個完整的數據字節,可以使時鍾線SCL 保持低電平,迫使主機進入等待狀態,當從機准備好接收下一個數據字節並釋放時鍾線SCL 后數據傳輸繼續。

二、I2C協議

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM