数据打包与解包

[复制链接]
4539|9
 楼主| wrainp 发表于 2008-4-6 15:13 | 显示全部楼层 |阅读模式

单片机与电脑串口通信中,有打包和解包过程。
 
小弟对此概念不是太清晰,哪位大侠能不能贴一段C程序出来参考参考~~

谢谢拉
mohanwei 发表于 2008-4-6 15:26 | 显示全部楼层

你用到过一遍就知道了……

平常人 发表于 2008-4-6 15:34 | 显示全部楼层

没有清晰的概念,就要看源程序,岂不是越看越晕吗?

 楼主| wrainp 发表于 2008-4-6 15:37 | 显示全部楼层

程序


协议将主要数据分割成一定格式的数据,并增加一些额外的信息(用于纠错),这个过程叫打包;在接收端协议去掉这些额外信息,只留下初始信息,这个过程叫解包。


这是我找到概念。
想通过程序来理解理解啊~~
平常人 发表于 2008-4-6 15:55 | 显示全部楼层

这个描述也太抽象了,基本等于什么都没说,初学者很难体

如果你是处于这个层次上,拿一个程序给你看你会更晕的,还是找一个具体的通信协议研究一下为好,如USB协议、802.11的协议等,也可以找一本介绍OSI协议的书看。
 楼主| wrainp 发表于 2008-4-6 16:06 | 显示全部楼层

协议...

我不是专门要搞通信。那具体一点吧。

在单片机串口通信中,要接收一个数据包,比如:

AA 05 00 00 00 AF

我是不是通过串口调试助手发6个字节就可以?

然后单片机接收后到接收缓存区读取,要对每个字节做判断的话,是不是要读

一个数据就和准确数据比较一下?然后做出相应的动作?可不可以全部读取完

后再分别做比较?

返回数据包给PC机表示正确,可以用返回1来表示吗?
mohanwei 发表于 2008-4-7 15:48 | 显示全部楼层

自己定义的,怎么定义都可以……

 楼主| wrainp 发表于 2008-4-7 17:44 | 显示全部楼层

谢谢

   问题解决了,大概明白了
呵呵
as4781 发表于 2017-1-11 10:04 | 显示全部楼层
。。。。。。。。。。
hgjinwei 发表于 2017-1-13 12:41 | 显示全部楼层
打包,就是把货物(想要传输的数据)装到包装盒(组装成特定格式的协议包);
反之,解包,就是将货物从包装盒中取出(去掉协议数据,得到想要传输的数据);

比如想要传输 00 01 02 03
协议格式为 SOH | LEN | DATA | CS | EXT
那么,打包就是 00 01 02 03 => SOH 04 00 01 02 03 CS EXT
解包就是 SOH 04 00 01 02 03 CS EXT => 00 01 02 03
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

79

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部