【发布时间】:2023-03-31 07:06:01
【问题描述】:
我有以下代码:
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)
按照用户手册的指示,它不亮。
这是手册中显示这一点的页面。也许我只是做错了?:
【问题讨论】:
-
您应该按照@gserg 和@paxdiablo 的建议以二进制模式发送(和接收)。但是,在此之前,请注意第 69 页说您需要 19200bps 连接;但是,您将串行端口设置为 9600bps。
-
您冒着意外错误的风险,因为人们不断建议您尝试将字节值推入字符串。使用 Byte 数组并做对。这样,您就不会因为隐式转换为 ANSI 而绊倒,这会扰乱您的数据。
-
@Bob:有这个例子吗? :o)
标签: vb6 serial-port