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 に答える