Upacker
用于段對(duì)端通訊數(shù)據(jù)封包、解包,解決各種粘包、分包問題。極簡(jiǎn)內(nèi)存占用。
軟件包位置: /packages/misc/upacker
數(shù)據(jù)幀格式
每包數(shù)據(jù)負(fù)載長(zhǎng)度最長(zhǎng)位14位16384字節(jié)。 每幀數(shù)據(jù)含4字節(jié)Header和N字節(jié)負(fù)載,包含14位數(shù)據(jù)長(zhǎng)度,4位Header校驗(yàn),6位負(fù)載校驗(yàn)

使用
配置
packer內(nèi)部需要一段內(nèi)存用于保存解析完成的包,可以配置為靜態(tài)內(nèi)存或者動(dòng)態(tài)內(nèi)存。 內(nèi)存分配的長(zhǎng)度為MAX_PACK_SIZE,根據(jù)應(yīng)用需要自行調(diào)節(jié)

完整的packer結(jié)構(gòu)體

實(shí)例一個(gè)packer

初始化,需要用戶自行實(shí)現(xiàn)兩個(gè)函數(shù)

解析數(shù)據(jù)

封包數(shù)據(jù)

應(yīng)用建議
最簡(jiǎn)單的協(xié)議示例,一個(gè)字節(jié)用來設(shè)置指令類型,后面接數(shù)據(jù)。

使用json序列化數(shù)據(jù),把json用來pack傳輸,收到一幀直接反序列化
使用msgpack序列化數(shù)據(jù),和json類似。
審核編輯:劉清
-
RT
+關(guān)注
關(guān)注
0文章
74瀏覽量
40703 -
Use
+關(guān)注
關(guān)注
0文章
5瀏覽量
8090 -
動(dòng)態(tài)內(nèi)存管理
+關(guān)注
關(guān)注
0文章
5瀏覽量
6731 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1542瀏覽量
44294
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問RT-Thread系統(tǒng)支持CPU熱插拔(Hotplug)嗎?
詳解RT-Thread實(shí)時(shí)操作系統(tǒng)
Java操作系統(tǒng)支持多線程
STM32F103+RT-thread操作系統(tǒng)
基于RT-Thread操作系統(tǒng)衍生rt-smart實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介
RT-Thread操作系統(tǒng)有哪些優(yōu)勢(shì)?
RT-Thread編程指南
RT Thread操作系統(tǒng)教程及資料
支持RT-Thread操作系統(tǒng)的NIOS II CPU系統(tǒng)搭建過程詳解
RT-Thread Smart微內(nèi)核操作系統(tǒng)發(fā)布!
國(guó)民技術(shù)攜手RT-Thread共同推進(jìn)MCU與RT-Thread操作系統(tǒng)廣泛適配
RT-Thread實(shí)時(shí)操作系統(tǒng)安裝向?qū)?/a>
RT-Thread操作系統(tǒng)已經(jīng)成功部署至芯馳E3
RT-Thread操作系統(tǒng)的FreeRTOS兼容層
新書發(fā)布——《實(shí)時(shí)操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實(shí)踐》

RT Thread操作系統(tǒng)支持用于端對(duì)端通訊數(shù)據(jù)
評(píng)論