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