gpio釋義:
abbr. 通用輸入輸出(General Purpose Input/Output)
例句:
GPIO control is all embedded development base Hence, the GPIO master, can we further on the basis of magnetic-depth.
GPIO的控制是所有嵌入式開發的基礎,GPIO掌握了,才能再磁基礎上深入。
iic釋義:
abbr. 革新情報中心(Innovation Information Center);國際棉花學會(International Institute for Cotton);同位素情報中心(Isotopes Information Center)
例句:
Notice:Please note if want IIC safety-increased type.
注:要求IIC類或增安型請注明。
最近做一個項目,涉及到芯片級的通信方面的知識(IIC和SPI方面的通信)。但是方案選擇的時候,發現自身對模擬IO口通信還是固件驅動通信一直沒有一個很全面的認識,所以就在此記錄一下。
所謂硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的;軟件I2C一般是用GPIO管腳,用軟件控制管腳狀態以模擬I2C通信波形。
硬件I2C的效率要遠高于軟件的,而軟件I2C由于不受管腳限制,接口比較靈活。
模擬I2C 是通過GPIO,軟件模擬寄存器的工作方式,而硬件(固件)I2C是直接調用內部寄存器進行配置。如果要從具體硬件上來看,可以去看下芯片手冊。因為固件I2C的端口是固定的,所以會有所區別。
至于如何區分它們
可以看底層配置,比如IO口配置,如果配置了IO口的功能(IIC功能)那就是固件IIC,否則就是模擬
可以看IIC寫函數,看里面有木有調用現成的函數或者給某個寄存器賦值,如果有,則肯定是固件IIC功能,沒有的話肯定是數據一個bit一個bit模擬發生送的,肯定用到了循環,則為模擬。
根據代碼量判斷,模擬的代碼量肯定比固件的要大。