微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB6 RS232命令不起作用

如何解决VB6 RS232命令不起作用

| 我有以下代码
MSCommProj.CommPort = 6
MSCommProj.RThreshold = 1
MSCommProj.Settings = \"19200,N,8,1\"
MSCommProj.InputLen = 0
MSCommProj.PortOpen = True
它打开得很好并且可以连接,但是当我尝试发送命令时:
MSCommProj.Output = \"21 8901 5057 31 0A\" & Chr$(13)
MSCommProj.Output = \"21 89 01 50 57 31 0A\" & Chr$(13)
MSCommProj.Output = \"3F 89 01 50 57 0A\" & Chr$(13)
根据用户手册的指示,它不会出现。 这是手册中显示内容页面。也许我只是做错了?:     

解决方法

您确定要为此将字符数据发送到RS232接口吗?在我看来,这些看起来像是二进制序列。 而不是:
MSCommProj.Output = \"3F 89 01 50 57 0A\" & Chr$(13)
我会考虑这样传输二进制数据:
MSCommProj.Output = chr$(63) & chr$(137) & chr$(1) & chr$(80) & chr$(87) & chr(10)
您会注意到,结尾没有ѭ6,规范并不需要。 如果您想知道这些十六进制值的转换,请启动Windows计算器,将视图更改为科学,切换到十六进制模式,输入值,然后切换到十进制模式。 或者,您可以为此下载ASCII表。或在这里查看我有关该主题的大量论文之一。     ,您需要发送给定的字节。 您改为发送这些字符串的表示形式。 发送实际字节。
chr$(&h21) & chr$(&h89) & chr$(&h01) & chr$(&h50)
等     ,这是因为我没有使用交叉电缆...所有rs232代码都是正确的。等等。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。