FreeRTOS三種數(shù)據(jù)結(jié)構(gòu)區(qū)別(StreamBuffer,MessageBuffer,Queue)
StreamBuffer字節(jié)流緩存,寫入和讀取隨意大小字節(jié)的數(shù)據(jù),沒有限制。
MessageBuffer消息緩存,是寫入4個字節(jié),讀取4個自己,寫入12個字節(jié)就讀取12個字節(jié),寫入和讀取的字節(jié)大小是一樣的。
Queue隊列,比如定義了int類型的數(shù)據(jù),就必須寫入和讀取都是4個字節(jié),不能隨意更改數(shù)據(jù)大小。
Message Buffer是基于Stream Buffer的。只是在每一次發(fā)送數(shù)據(jù)的時候多了四個字節(jié)的空間用于存放消息的大小。根據(jù)這個消息大小,讀取放就可以一次讀取出全部消息的內(nèi)容。
Message Buffer基于Stream Buffer上實現(xiàn)的, 在傳輸?shù)臅r候用4個字節(jié)記錄了sent的內(nèi)容大小這樣子讀取的話,也可以一次讀取對應(yīng)大小的數(shù)據(jù),很適合 串口 接收和發(fā)送數(shù)據(jù),每次的大小不定,但是接受和發(fā)送的數(shù)據(jù)量需要相同
審核編輯:劉清
-
串口通信
+關(guān)注
關(guān)注
34文章
1627瀏覽量
55605 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
484瀏覽量
62274
原文標題:FreeRTOS Message Buffer消息緩存
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論