0

我有一些编码经验,但没有使用 VBA (Excel 2013)。我正在尝试编写一个非常简单的程序,它通过串行端口 1.)告诉远程设备接受外部命令(“PHOTO”),2.)发送外部命令(“M5”和 Chr$(13) ) 和 3.) 告诉设备不再接受外部命令 ("q")。

Private Sub CommandButton1_Click()

    ' Use COM2
    MSComm21.CommPort = 2

    ' 9600 baud, no parity, 8 data, and 1 stop bit.
    MSComm21.Settings = "9600,N,8,1"

    ' Open the port.
    MSComm21.PortOpen = True

    MSComm21.Output = "PHOTO" ' Step 1
    MSComm21.Output = "M5" & Chr$(13) ' Step 2

    ' Do some stuff


    MSComm21.Output = "Q" ' Step 3

    ' Close the port
    MSComm21.PortOpen = False

 End Sub

我的问题是,虽然我可以确认第 2 步和第 3 步有效,但第 1 步没有。在 Tera Term 中与设备通话时,“PHOTO”命令必须全部大写,而“M5”和“q”命令不区分大小写。我想知道 MSComm21.Output 命令是否忽略大小写?我还没有找到任何专门谈论这个的东西。如果没有,我是否有明显的遗漏?

这个“简单”的程序让我发疯,任何帮助都值得赞赏。

4

1 回答 1

0

我换了行:

MSComm21.Output = "PHOTO" ' Step 1

和:

MSComm21.Output = "P"
MSComm21.Output = "H"
MSComm21.Output = "O"
MSComm21.Output = "T"
MSComm21.Output = "O"

我能够让它工作。谢谢。

于 2014-07-29T14:08:28.030 回答