前幾章我們學(xué)了一種通信協(xié)議叫做 UART 異步串行通信,這節(jié)課我們要來學(xué)習(xí)第二種常用的通信協(xié)議 I2C。I2C 總線是由 PHILIPS 公司開發(fā)的兩線式串行總線,多用于連接微處理器及其外圍芯片。I2C 總線的主要特點是接口方式簡單,兩條線可以掛多個參與通信的器件,即多機模式,而且任何一個器件都可以作為主機,當然同一時刻只能有一個主機。
從原理上來講,UART 屬于異步通信,比如電腦發(fā)送給單片機,電腦只負責(zé)把數(shù)據(jù)通過 TXD 發(fā)送出來即可,接收數(shù)據(jù)是單片機自己的事情。而 I2C 屬于同步通信,SCL 時鐘線負責(zé)收發(fā)雙方的時鐘節(jié)拍,SDA 數(shù)據(jù)線負責(zé)傳輸數(shù)據(jù)。I2C 的發(fā)送方和接收方都以 SCL 這個時鐘節(jié)拍為基準進行數(shù)據(jù)的發(fā)送和接收。
從應(yīng)用上來講,UART 通信多用于板間通信,比如單片機和電腦,這個設(shè)備和另外一個設(shè)備之間的通信。而 I2C 多用于板內(nèi)通信,比如單片機和我們本章要學(xué)的 EEPROM 之間的通信。