社区
网络及通讯开发
帖子详情
请问这种串口数据包如何处理
hitripley
2005-04-09 10:22:06
在BCB中利用串口控件接收数据,
请问下面这种情况怎么处理比较合适呢?
通过串口连续的向pc发送长90字节的数据包, 之间没有时间间隔,其中前九个字节固定(这个不能改,是我用的无线通信模块规定的帧格式),后面的是数据,如果要提取这种不间断数据包中的数据(用于实时作图)应该怎么做呢?
...全文
306
5
打赏
收藏
请问这种串口数据包如何处理
在BCB中利用串口控件接收数据, 请问下面这种情况怎么处理比较合适呢? 通过串口连续的向pc发送长90字节的数据包, 之间没有时间间隔,其中前九个字节固定(这个不能改,是我用的无线通信模块规定的帧格式),后面的是数据,如果要提取这种不间断数据包中的数据(用于实时作图)应该怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hitripley
2005-04-12
打赏
举报
回复
谢谢各位!
JedyWoody
2005-04-11
打赏
举报
回复
简单点说,就是要采用校验算法。
如果产生了数据报丢失(通过校验),pc机发送重发请求,你的无线设备在接收到后重发上一个包;如果接收正常,pc机发送接收ok,无线设备在接收后发送下一个包。
以上只是简单原理,你还可以进行超时设置与处理。
土著巫师
2005-04-11
打赏
举报
回复
1、从本质上说串口发送和接收端要处理的是连续的二进制字节流。
2、对于连续的二进制字节流,接收端是无法断定什么时候开始,什么时候是结束,不能简单的用长度来确定,因为中间丢掉一个字节数据就玩完了,所以必须自己定义帧结构。:(
3、比如我要发送某个90个字节的数据(里面的格式不管)可以采用以下的帧定义方法:(1)定义数据同步字符比如用0x7E;
(2)对90个字节计算CRC16校验码,生成92个字节的数据(考虑重要程度如何可以不做这个处理),对92个字节检查,发现哪个字节为0x7E,就把这个字节改为两个字节(0xff 0x01),不是的话再检查这个字符是否为0xff,如果是就把这个字节变成0xff 0x02两个字节,如果还不是就保留原来的值(不需置换);生成的新的数据长度可能超过92个,在最后发送前加上0x7E后发送(0x7E是非常有意义的自同步控制器,即是前一个包的结束,也是后一个包的开妈!)。
(3),接收端接收数据后,从第一个字节开始,一直找到第一个0x7E,这就是发送端出来的第一个数据包,反过来置换所有出现的0xff 0x01,0xff 0x02,然后计算置换后数据的CRC16和最后两个字节的比较,如果OK,就是有效的数据,如果无效可能是误码或是丢包了(可以简单的丢掉)。
提供一个很成功和很高效的思路,C++代码自己写吧,祝你好运!
hitripley
2005-04-09
打赏
举报
回复
能说的详细点吗?还是不太明白。
这种不间断数据流在什么事件中作处理,在接受缓冲区中如何区分数据包呢?
wuxq7311
2005-04-09
打赏
举报
回复
建立三个缓冲区,循环使用存储和读取数据!
串口
缓存区7E头7E尾数据分包代码
这种
数据分包方式的优势在于它能够有效地将连续的数据流拆分成多个独立的
数据包
。通过帧头和帧尾的标识,可以准确地确定每个
数据包
的边界,避免数据错位或者丢失。 需要注意的是,在实际应用中,还需要考虑帧内出现...
ThinkGear 通信协议英文
神念科技的每个产品都包含了 ThinkGearTM 科技,使得用户能够通过接口,使用脑电波数据。 ThinkGear 系列产品包含了前额传感器(
这种
传感器以耳垂处的电位作为参考电位)。板载的 芯片,以数字的方式
处理
测得的数据...
【USART】
串口
数据包
/当接收到【0xFF】就知道一个
数据包
来了,接着再接收到的4个字节当作
数据包
的第1、2、3、4个数据存在一个数组里。一批数据规定有4个字节,在这4个字节之前加一个自定义包头【0xFF】,在这4个字节之后加一个自定义包...
串口
中怎样接收一个完整
数据包
的解析
这里以
串口
作为传输媒介,介绍下怎样来发送接收一个完整的
数据包
。过程涉及到封包与解包。设计一个良好的包传输机制很有利于数据传输的稳定性以及正确性。
串口
只是一种传输媒介,
这种
包机制同时也可以用于SPI,I2C的...
【STM32学习】——USART
串口
数据包
&HEX/文本
数据包
&收发流程&
串口
收发HEX/文本
数据包
实操
本次学习有两个实操代码,第一个是
串口
收发HEX
数据包
,第二个是
串口
收发文本
数据包
做任何事情,都要有一股坚忍不拔的毅力,只要坚持,挺过风雨,终会看见彩虹;只要坚持,走过黑暗,总会拥抱黎明;只要坚持,战胜...
网络及通讯开发
1,316
社区成员
8,873
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章