RT Thread操作系统支持用于端对端通讯数据

描述

Upacker

用于段对端通讯数据封包、解包,解决各种粘包、分包问题。极简内存占用。

软件包位置: /packages/misc/upacker

数据帧格式

每包数据负载长度最长位14位16384字节。 每帧数据含4字节Header和N字节负载,包含14位数据长度,4位Header校验,6位负载校验

RT

使用

配置

packer内部需要一段内存用于保存解析完成的包,可以配置为静态内存或者动态内存。 内存分配的长度为MAX_PACK_SIZE,根据应用需要自行调节

RT

完整的packer结构体

RT

实例一个packer

RT

初始化,需要用户自行实现两个函数

RT

解析数据

RT

封包数据

RT

应用建议

最简单的协议示例,一个字节用来设置指令类型,后面接数据。

RT

使用json序列化数据,把json用来pack传输,收到一帧直接反序列化

使用msgpack序列化数据,和json类似。


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分