区分大小写的MSComm字符串

时间:2014-07-28 19:02:21

标签: excel vba mscomm32

我有一些经验编码,但没有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命令是否忽略了大小写?我一直没能找到具体谈论这个问题。如果没有,是否有一些我不知道的东西?

这个“简单”的程序让我感到疯狂,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我改变了界限:

MSComm21.Output = "PHOTO" ' Step 1

使用:

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

我能够让它发挥作用。感谢。