WIFI模塊的UART自由組幀模式
WIFI模塊在接收UART過來的數(shù)據(jù)時,會不斷的檢查相鄰2個字節(jié)的間隔時間。如果間隔時間大于某一值,則認為一幀結(jié)束,否則一直接收數(shù)據(jù)直到大于4K字節(jié)。模塊判斷串口上一幀結(jié)束后,轉(zhuǎn)發(fā)到WIFI接口。
WIFI模塊的默認的2個字節(jié)間隔時間為50ms,即間隔時間大于50ms時,一幀結(jié)束。
另外,這個間隔時間可以通過命令設(shè)置成10ms,以滿足客戶對于串口轉(zhuǎn)發(fā)效率的需求。經(jīng)測試,如果設(shè)置成10ms,從WIFI à UART à WIFI的回環(huán),如果數(shù)據(jù)量不大,延時在40~50ms 左右。
但是如果間隔時間為10ms,而客戶的MCU不能保證在10ms內(nèi)發(fā)出下一個字節(jié)的,則串口數(shù)據(jù)可能被分斷。
這個參數(shù)可以根據(jù)AT命令來設(shè)置,AT+FUARTTE=fast/normal,fast對應(yīng)10 ms,normal對應(yīng)50ms。這個命令為出廠設(shè)置命令,AT+RELD對其無效。
UART自動成幀模式
對于串口上定長的數(shù)據(jù)幀,可以通過開啟UART自動成幀功能,以達到最高的轉(zhuǎn)發(fā)效率。WIFI模塊支持UART口自動成幀功能。通過設(shè)置打開該功能,并設(shè)置自動成幀觸發(fā)時間及觸發(fā)幀長后,模塊會把從串口上收到的數(shù)據(jù)自動組成幀,轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上去。
自動成幀的時間從模塊從串口上收到第一個字節(jié)開始計算。如下圖所示: