完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位大师,您好!
我的智能模块的协议发送HEX(长度为固定数10),接收为HEX不定长协议,一发一收模式()其中2组协议示意如下) 发送1:01 00 01 00 06 04 00 0B C0 93 接收1:00 00 00 00 00 01 00 01 00 71 00 00 1E 00 31 39 58 52 56 5F 49 49 00 80 64 45 52 54 5F45 53 54 00 C1 74 EE 90 42 08 00 00 07 3B 07 51 04 01 00 00 09 19 14 00 00 0000 00 00 00 00 00 00 32 34 33 2D 3E 45 76 61 70 6F 72 61 74 6F 72 20 52 65 6672 69 67 20 54 65 6D 70 20 23 33 20 65 78 63 65 65 64 65 64 20 6C 69 6D 69 7420 6F 66 20 23 34 2E 00 00 00 00 00 00 00 00 00 00 00 00 BC 69 说明:1、00 00 00 00 00为不定长,有时为00 00,有时为00 00 00 00 00 00 00有时为00 00。长度不定 2、71为该接收字符串的长度(协议中的有效数据长度) 发送2:01 00 01 00 01 05 00 0B 91 53 接收2:00 00 00 00 00 00 01 00 01 00 01 03 00 15 05 EE 47 说明:1、00 00 00 00 00 00为不定长,有时为00 00,有时为00 00 00 00 00 00 00有时为00 00。长度不定 2、01为该接收字符串的长度(协议中的有效数据长度) 问题1:由于接受字符串不定长,不能固定数量来接收,只能用BYTE AT PORT。在VISA接收延时上,如果按短指令设置延时时间,短指令数据正常,长指令 出错;如果按照长指令设置时间。等待时间过长,无法满足响应时间。有什么办法在不出错的前提下能够提高采集的速度? 问题2:接收方式上能否一个一个的接收,在接收到字符串长度的字符串时,再根据固定长度来接收所有的?
|
|
相关推荐
3个回答
|
|
可以先用bytes at port>0,不加延时一个字一个字读取到01 00 01 00,再根据01 00 01 00后的数据读取端口数据,你这个比较麻烦,慢慢调度吧
最佳答案
|
|
5 条评论
|
|
非常值得学习的面相对象编程例子非常值得学习的面相对象编程例子
|
|
|
|
用字符串形式搜索01 00 01 00,这样是不是更快捷一些呢?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
490 浏览 1 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
954 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1534 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1466 浏览 3 评论
1744 浏览 2 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:06 , Processed in 0.604206 second(s), Total 86, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号