以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- ble 发送时分包,接收时怎么组包 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107821) |
-- 作者:fubblyc -- 发布时间:2017/10/10 22:21:00 -- ble 发送时分包,接收时怎么组包 老师,我又来请教您啦! 我用ble蓝牙扫码枪扫非国标的条形码, 有 17位数 11770030078029048 这时扫码枪就不会像扫13位直接一包数据过来,而是分成了两个包。 690107..这个是13位,所以是正常显示 117700.. 这个是17位,他分成了两行了 分包的原理是这样: OP定义如下: NORMAL_PACKET 0X37 END_PACKET 0X38 一个长条码可能会分成多帧进行传输,一次最多传输250个字节的条码内容。 如果发送的不是最后一个包,OP填入NORMAL_PACKET。 如果发送的是最后一个包,OP填入END_PACKET。 那现在是要将两个包的值合在一起,不要分成两行。 不知道怎么做。。。 我本来是通过前两个字判断是不是最后一个包,不是的话 存储起来,然后值为两个相加 但是他是每个包一路到底,没办法两个相加 [此贴子已经被作者于2017/10/10 22:30:33编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/10/10 22:41:00 -- 没有用过,想象不出具体是怎么样的过程。 |
-- 作者:有点甜 -- 发布时间:2017/10/11 9:51:00 -- 根据37、38判断是否为最后一个包,如果是,就把前面的组合起来;
举例说明,你需要合成的字符是什么?最终合成什么? |
-- 作者:fubblyc -- 发布时间:2017/10/12 14:40:00 -- 恩恩,老师,可以了。 我做了两个隐藏的框,分别接受 37 38 的包,然后再组合起来! 谢谢蓝老师,甜老师!!
|