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