硬體IIC和軟體IIC區別
阿新 • • 發佈:2019-02-01
所謂硬體I2C對應晶片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的;軟體I2C一般是用GPIO管腳,用軟體控制管腳狀態以模擬I2C通訊波形。
硬體I2C的效率要遠高於軟體的,而軟體I2C由於不受管腳限制,介面比較靈活。
模擬I2C 是通過GPIO,軟體模擬暫存器的工作方式,而硬體(韌體)I2C是直接呼叫內部暫存器進行配置。如果要從具體硬體上來看,可以去看下晶片手冊。因為韌體I2C的埠是固定的,所以會有所區別。
至於如何區分它們
- 可以看底層配置,比如IO口配置,如果配置了IO口的功能(IIC功能)那就是韌體IIC,否則就是模擬
- 可以看IIC寫函式,看裡面有木有呼叫現成的函式或者給某個暫存器賦值,如果有,則肯定是韌體IIC功能,沒有的話肯定是資料一個bit一個bit模擬發生送的,肯定用到了迴圈,則為模擬。