gpio軟體模擬IIC與硬體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模擬發生送的,肯定用到了迴圈,則為模擬。
- 根據程式碼量判斷,模擬的程式碼量肯定比韌體的要大。
相關推薦
gpio軟體模擬IIC與硬體IIC驅動有什麼區別
最近做一個專案,涉及到晶片級的通訊方面的知識(IIC和SPI方面的通訊)。但是方案選擇的時候,發現自身對模擬IO口通訊還是韌體驅動通訊一直沒有一個很全面的認識,所以就在此記錄一下。 所謂硬體I2C對應晶片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管
微控制器GPIO軟體模擬I2C通訊程式
文章原始地址:http://feotech.com/?p=98 本程式主要用於使用可程式設計晶片自身的IO管腳,模擬I2C通訊的協議,實現I2C匯流排資料的傳輸. /** ****************************************************
串列埠流控 軟體流控與硬體流控
本文主要轉載自百度文庫http://wenku.baidu.com/view/1fddeb262f60ddccda38a097.html 在序列通訊處理中,常常看到rts/cts和xon /xoff這兩個選項,這就是兩個流控制的選項,目前流控制主要應用於調變解調器的資料通
32位作業系統與64位作業系統有區別?
第一,設計初衷不同。64位作業系統的設計初衷是:滿足機械設計和分析、三維動畫、視訊編輯和創作,以及科學計算和高效能運算應用程式等領域中需要大量記憶體和浮點效能的客戶需求。換句簡明的話說就是:它們是高
stm8 軟體模擬IIC驅動PCF8563T,NOKIA5110液晶顯示
除錯stm8硬體IIC,弄了幾天,搞得人頭大,一直程式就是卡在 while((I2C_SR1&0x02))這裡,資料手冊和網上的各種帖子基本都看了,程式都試了,ARF位也設定了,還是除錯不通,最後沒辦法只能使用軟體模擬IIC了。 這次使用軟體模擬IIC驅動PCF8
STM32硬體IIC與51模擬IIC通訊
IIC介紹 IIC協議規定:SDA上傳輸的資料必須在SCL為高電平期間保持穩定,SDA上的資料只能在SCL為低電平期間變化。IIC期間在脈衝上升沿把資料放到SDA上,在脈衝下降沿從SAD上讀取資料。這樣的話,在SCL高電平期間,SDA上的資料是穩定的。在脈
STM32F103微控制器軟體模擬IIC並讀取TMP112數字溫度感測器
本文利用STM32F103系列微控制器讀取TMP112數字溫度感測器的溫度資訊,TMP112數字感測器採用IIC匯流排協議通訊。STM32自身含有硬體IIC資源,分別是PB6-->SCL、PB7-->SDA,硬體IIC的操作在STM32開發板對應的資料上均有給出
STM32硬體IIC驅動設計
前言 stm32的硬體IIC一直是令人詬病的地方,以至於很多情況下我們不得不選擇使用模擬IIC的方式來在stm32上進行iic通訊。我在stm32 iic通訊上也浪費了幾多青春。。。經過不斷地探索最終還是成功了(可喜可賀啊),現在把我的探索成功的經驗分享出來,
利用HAL庫硬體IIC驅動OLED
利用CubeMX生成工程文件就不用細說了,網上很多類似的教程.主要談一下自己將原來驅動OLED的庫例程 移植為HAL庫的驅動,本質上沒有多大的區別,只是幾個函式運用的問題. 利用CubeMX 選用I2C1,配置預設即可生成工程之後,單獨建立oled.c oled.h
硬體IIC和軟體IIC區別
所謂硬體I2C對應晶片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的;軟體I2C一般是用GPIO管腳,用軟體控制管腳狀態以模擬I2C通訊波形。 硬體I2C的效率要遠高於軟體的,而軟體I2C由於不受管腳限制,介面比較靈活。 模擬I2C 是通過GPI
STM32軟體模擬IIC
IIC匯流排 一、與IIC有關的知識 (1)IIC屬於半雙工通訊方式 (2)IIC的協議 1.空閒狀態:IIC的SCL和SDA兩條線均處於高電平狀態,此時即釋放匯流排 2.起始訊號(Start):
STM32微控制器硬體I2C驅動程式(軟體輪詢方式)---摘自:FeoTech
感謝原作者:FeoTech 原文網址:http://feotech.com/?p=69 本程式主要用於驅動STM32微控制器晶片的硬體I2C暫存器,實現通過使用晶片自帶的I2C暫存器進行資料的傳送與接收. 本例程中採用I2C暫存器查詢的方式來實現資料傳輸,當I2C對應
5.計算機發展個人理解-電路終究是電路 軟體如何控制硬體 程式碼如何操作硬體 硬體是怎麼執行程式碼 程式碼如何執行 軟體與硬體如何互動 計算機思維 抽象 封裝 規範 遮蔽 協議分層
計算機只是邏輯電路 除了電路還是電路 計算機就是一堆邏輯電路 他並不知道你到底想要幹什麼,他也不會理解什麼是檔案,什麼是程序 通電的瞬間,就好像你開啟開關,燈泡發光一樣 所有的一切都是通過通電來啟動的 start the world 計算機某些部件,具體到比如某個閘電路,有電流通過 這個電流就
《連載 | 物聯網框架ServerSuperIO教程》- 11.實現裝置(驅動)與裝置(驅動)互動和級聯控制。注:裝置驅動模擬金三與普京的對話
目 錄 11.實現裝置(驅動)與裝置(驅動)級聯控制... 2 11.1 概述... 2 11.2 裝置連結器... 2 11.3 場景假設... 3 11.4 裝置驅動開
軟體與硬體設計的區別和聯絡
軟體設計指的是程式設計,硬體設計也是程式設計,但兩者是有區別的。 軟體編寫的程式最終轉化為機器語言,並在硬體上執行。 硬體編寫的程式最終轉化為電路,以實體的形式被製造出來。 也就是說,軟體設計的是0/1的二進位制碼,硬體設計的是實際的電路。 但既然硬體設計也是通過程式設計實
hdl - 軟體程式設計與硬體建模
介紹軟體程式設計思維與硬體建模思維的不同與相似之處。 1. 軟體程式設計思維 程式設計,意指編寫程式; 程式,即過程的順序; 軟
STM32硬體IIC操作 (轉)
轉自:http://blog.csdn.net/dengrengong/article/details/39831577 Stm32具有IIC介面,介面有以下主要特性 多主機功能:該模組既可做主裝置也可做從裝置 主裝置功能 C地址檢測 產生和檢測7位/10位地
STM32 PWM的輸出與Keil軟體模擬
STM32 PWM的輸出 脈衝寬度模式(PWM模式)可以用來產生一個由TIMx_ARR暫存器確定平率,由TIMx_CCRx暫存器確定佔空比的訊號。在STM32開發中,由於官方提供了較為完善的庫函式,使得我們的開發工作變得相當的輕鬆,甚至可以在不需要太多瞭解硬體
stm32驅動3.2寸觸控式螢幕(包括IO模擬,SPI硬體介面)
#ifndef TOUCH_H #define TOUCH_H #define SPI 0 //通過巨集定義來選擇SPI驅動,還是IO口模擬 #include "stm32f10x.h" #include "stm32f10x_rcc.h" #inc
關於 stm32 硬體iic
最近在做一個stm32專案。用到兩路iic,其中一路是用於iic通訊。另一路用於iic從機。都不是傳統的iic主機讀取eeprom的形式。 開始做的時候,網上搜資料,一大片的吐槽。都在說stm32的硬體iic設計有問題,都在說蛋疼。 (1)iic通訊。形式是一個iic裝置對