IIC , UART(串口) 和API基本知識以及區別


  1. IIC:串行通信總線,一根是串行數據線SDA,一根是串行時鍾線SCL。多主機總線,主機既可做接收器也可做發送器。數據有效性:SCL在高電平期間,SDA線上的數據必須保持穩定,數據線僅可以在時鍾SCL為低電平時改變。主機起始終止信號:在SCL為高電平期間,SDA由高到低為起始信號,SDA由低到高為終止信號。數據傳送格式:一幀有9位,每一字節后都有一個應答位。總線尋找:主機向從機發送八位數據。第1位為讀寫位,“0”表示主機向從機寫數據,“1”表示主機由從機讀數據;后7位尋址字節(從機地址)。

  2. UART(串口):異步通信接口,主機從機接三根線:RX(接收數據),TX(發送數據),GND。第一,幀結構:起始位(低電平),數據位(5-8位),校驗位(奇偶校驗或無),停止位(高電平),第二,一種中斷,當有數據寫入SBUF后中斷觸發,程序進入中斷服務程序里面執行結束或發送數據。SBUF(數據緩存區)第三,波特率(每秒傳輸二進制個數) 9600bps 115200bps。

  3. SPI(同步外設接口):全雙工同步串行總線,一個主機多從機。接口:SDI(串行數據輸入),SDO(串行數據輸出),SCK(串行移位時鍾),CS(從使能信號)四種信號,片選:CS 決定了唯一的與主設備通信的從設備,片選信號低電平有效。如沒有CS 信號,則只能存在一個從設備,主設備通過產生移位時鍾來發起通訊。通信:數據由SDO 輸出,SDI 輸入,數據在時鍾的上升或下降沿由SDO 輸出,在緊接着的下降或上升沿由SDI 讀入。

  4. 區別:IIC一般用於同一板卡上芯片之間的通信,較少用於遠距離通信。UART需要固定的波特率,就是說兩位數據的間隔要相等,而SPI則無所謂,因為它是有時鍾的協議。I2C的速度比SPI慢一點,協議比SPI復雜一點,但是連線也比標准的SPI要少。UART一幀可以傳5/6/7/8位,IIC必須是8位。IIC和SPI都從最高位開始傳。SPI用片選信號選擇從機,IIC用地址選擇從機。


免責聲明!

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



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