完善资料让更多小伙伴认识你,还能领取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,这样是不是更快捷一些呢?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1721 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1320 浏览 0 评论
1537 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3074 浏览 3 评论
1462 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:15 , Processed in 0.720031 second(s), Total 99, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号