掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSCommでの出力を安定化について (ID:122985)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>DTRはTrueでもFalseでも出力に影響がなかったので設定していません。 > う〜ん、信号関係ないのかな? とりあえず新しいプロジェクトに下記プログラムをコピペして動作させてみてください。 正しく動作すればリストボックスに"日時 xx xx xx xx"みたいな形で表示できると思います。 あと、フォームにはMSComm, ボタン, リストボックス, タイマーを貼り付けて下さい。(名前はデフォルトのままで) これで動作してくれるといいんだけど・・・ Private Sub Form_Load() Timer1.Enabled = False Command1.Caption = IIf(Timer1.Enabled, "停止", "開始") With MSComm1 .DTREnable = True .RTSEnable = True .RThreshold = 1 .InputMode = comInputModeBinary '設定値はADXL202に合わせてください .CommPort = 1 .Settings = "9600,n,8,1" .Handshaking = comRTS .PortOpen = True End With End Sub '終了処理 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Timer1.Enabled = False MSComm1.PortOpen = False End Sub 'コマンドの送信開始/停止 Private Sub Command1_Click() Timer1.Interval = 10 Timer1.Enabled = Not Timer1.Enabled Command1.Caption = IIf(Timer1.Enabled, "停止", "開始") End Sub '一定間隔でGコマンドを送る Private Sub Timer1_Timer() Timer1.Interval = 5000 List1.AddItem Format(Now, "hh:nn:ss "), 0 MSComm1.Output = "G" End Sub Private Sub MSComm1_OnComm() Dim bytBuf() As Byte Dim strDisp As String Dim lngCount As Long Select Case MSComm1.CommEvent Case comEvReceive If List1.ListCount = 0 Then 'Gコマンドを送る前は無効 MSComm1.InBufferCount = 0 Exit Sub End If Do bytBuf = MSComm1.Input strDisp = "" For lngCount = LBound(bytBuf) To UBound(bytBuf) '受信した文字列をxxと言う形で保存 strDisp = strDisp & Right("00" & Hex(bytBuf(lngCount)), 2) & " " Next 'リストボックスのTopに表示 List1.List(0) = List1.List(0) & strDisp Loop While MSComm1.InBufferCount <> 0 End Select End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.