完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
程控电源艾德克斯IT6332A,USB通讯时(Instr类),可以成功写入指令并且仪器会正常响应,但是却无法读取返回值,每次都提示如下图1的读取超时的错误。另外,在MAX里用VISA测试面板测试是没有问题的,能够正确返回,如图3。然后就是,通过图2所示程序写入与VISA测试面板中相同的指令时,依然会提示图1所示错误,但是在VISA测试面板中选择读取却会正确返回,再次说明图2程序能够正确写入指令却不能读取返回。既然能够写入指令,应该说明通讯是成功了的,可是为什么不能读取返回呢?不知道可有谁碰到类似问题,还望不吝赐教,先谢了。
|
|
相关推荐
13个回答
|
|
hejin515 发表于 2017-10-9 08:51 通过VISA测试面板可以看到,你接收到的数据是带终止符的,当你设置的读取字节数比实际字节数大时,它就会以读到终止符为止返回完整的数据给你,其实在串口里面,如果返回数据带终止符,也可以这样做,你可以不用管返回的数据字节数是多少,只要你设置的读取字节数肯定比实际字节数大就行了,它会自动以终止符作为返回数据的结尾。
最佳答案
|
|
|
|
读写间加个这个试下
|
|
|
|
在MAX中创建任务,然后程序框图中直接调用。
|
|
|
|
|
|
|
|
|
|
|
|
你把那个七改大点试试
|
|
|
|
|
|
|
|
真的好神奇,按你说的把读取的字节数设置大点真的就可以了。但是不知道为什么,还请道明原委。因为之前一直做串口,知道如果设置读取的字节数过大(当然一般用端口字节数属性节点),相反会报错。可是这里,理论上和实际上我读取的返回是20字节,但是我只有设置的读取字节数比20大才能成功过,这个和串口完全相反,不知道是什么逻辑。 |
|
|
|
搞了一天知道如何下手,楼上回复说把读取的字节数设置大一些居然真的可以了。不知道你说的是什么意思,愿听分享 |
|
|
|
sszx2007 发表于 2017-10-9 10:38 原来如此,明白了。十分感谢! |
|
|
|
另外想请教一下,你刚的回答解释了为什么设置的读取字节数比实际的大依然可以读取的问题。但是我还没有搞清楚,为什么设置读取的字节数比实际返回的小时会出现读取错误?串口的话,这种情况应该是读取一部分。 |
|
|
|
hejin515 发表于 2017-10-9 12:41 串口有两种方式读取,一种是按设定的字节数读取,一种按终止符读取 |
|
|
|
hejin515 发表于 2017-10-9 12:41 串口有两种方式读取,一种是按设定的字节数读取,一种按终止符读取。 当返回的数据没有终止符时,一般按字节数读取,然后自己分析是否读完。 当返回数据有终止符时,就可以设定读取字节数大于实际字节数,函数自动会以设定的终止读取到完整的数据返回。 其实很多的串口通信里面基本都会定义终止符的,只是你用不用而已 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1796 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1407 浏览 0 评论
1610 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3477 浏览 3 评论
1527 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 06:16 , Processed in 0.821388 second(s), Total 100, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号