プロが教える店舗&オフィスのセキュリティ対策術

Visual BasicでパソコンのRS-232-CのRTS信号をON,OFF
と繰り返して、波形をオシロスコープで確認しようと
しているのですが、

フォールモジュールに
Private Sub Command5_Click()
For i = 0 To 50000
dummy = EscapeCommFunction(hComm, CLRRTS)
dummy = EscapeCommFunction(hComm, SETRTS)
Next i
Print "RTS終了"
End Sub
と記述すると波形は確認できるのですが、


フォームモジュールに
Private Sub Command6_Click()
dummy = RTS
Print "RTS終了"
End Sub
標準モジュール(又はフォールモジュール)に
Function RTS() As Boolean
For i = 0 To 50000
dummy = EscapeCommFunction(hCome, CLRRTS)
dummy = EscapeCommFunction(hCome, SETRTS)
Next i
End Function
と記述すると波形が確認できませんでした。


どうすればいいの分かりません。
よろしくお願いします。

A 回答 (3件)

まず、プログラム実行ですが


Ctrl + F5 (完全コンパイル後実行)でエラーは発生しません?
エラーが無ければ、hCome、CLRRTS,SETRTSはグローバル変数/定数
ですか?
    • good
    • 0

動かない理由かどうかわかりませんが



Function RTS() As Boolean
For i = 0 To 50000
dummy = EscapeCommFunction(hCome, CLRRTS)
dummy = EscapeCommFunction(hCome, SETRTS)
Next i
RTS = dummy ←コレ
End Function

RTS関数の戻り値が指定されていませんがいいのでしょうか?
    • good
    • 0

どうも全体に気になります。



モジュールの先頭に

Option Explicit

を挿入したがいいです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!