常見硬體通訊協議總結

2021-09-28 16:22:05 字數 839 閱讀 4574

(正好手上的nodemcu支援uart、spi、i2c協議,所以這篇文章乾脆就用nodemcu來分析協議了~)

uart

用邏輯分析儀捕捉nodemcu init.lua給上位機傳送 「a」:

-- init.lua

tmr.alarm(1, 1000, tmr.alarm_auto, function()

print('a')

end)12

34解碼設定: 

解碼結果: 

spigithub上的nodemcu專案編譯的韌體中的spi沒法用,測了好久,時序都不對。所以用的arduino for esp專案來測的spi時序。

#include

void setup()}1

2345

6789

10解碼設定: 

解碼結果: 

i2ci2c協議只用到兩根線。具體細節可以參考i2c匯流排協議

-- init.lua

id  = 0

sda = 1

scl = 2

i2c.setup(id, sda, scl, i2c.slow)

tmr.alarm(1, 10, tmr.alarm_auto, function()

i2c.start(id)

i2c.write(0, 0xad)

i2c.stop(id)

end)12

3456

78910

1112

解碼設定: 

解碼結果: 

SPI通訊協議總結

資料 於網上,不足之處歡迎指正,技術無邊,多多交流 1 什麼是spi?spi是序列外設介面 serial peripheral inte ce 的縮寫。是 motorola 公司推出的一種同步序列接 術,是一種高速的,全雙工,同步的通訊匯流排。2 spi優點 支援全雙工通訊 通訊簡單 資料傳輸速率塊...

CAN通訊協議總結

一 應用範圍 廣泛應用於汽車電子行業,其優點在於傳輸距離遠,抗電磁干擾能力強,有錯誤檢測,錯誤通知以及自動重傳等功能。物理層 序列非同步通訊,半雙工。can通訊節點由can控制器和can收發器組成,只有兩根訊號線,can h和can l,用於產生差分訊號來表示顯性電平和隱性電平。顯性電平 記產生差分...

常見的序列通訊協議

1.uart uart是通用非同步收發傳輸器,使用rxd和txd兩根線實現非同步全雙工通訊 為確保通訊可靠,可以在通訊兩邊接共地 因此,完整的uart通訊只需最少3根線即可。rxd是傳送資料線,txd是接收資料線,通訊雙方使用交叉互聯,rxd接對方txd,txd接對方rxd。uart使用標準的ttl...