掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSCommでの出力を安定化について (ID:122947)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
過去ログを検索した結果、いくつか似た症状の質問があったのですが、 どれも自己解決してしまったようでどうして直ったのかわからなかったので 質問させていただきます。 今回はじめてVBをさわることになったのですが、下記のようなプログラムでADXL202というセンサとRS232C通信を行うソフトを独自に作っています。 いろいろなものを参考にしてなんとか通信を行うことができるとことまでは いったのですが、2回に1回くらいの確率で20秒ぐらいフリーズして しまいます。なにかアドバイスをいただけたら幸いです。 ******************************* Private Sub cmd_Send_Click() Dim t As Byte MSComm1.InBufferCount = 0 MSComm1.OutBufferCount = 0 MSComm1.InputLen = 0 Text2.Text = "読み取り中" MSComm1.Output = txt_Send.Text & Chr(13) & Chr(10) Do DoEvents Loop Until MSComm1.OutBufferCount = 0 Do If t < 50 Then t = t + 1 Call Delay(10) End If Loop Until MSComm1.InBufferCount >= 4 'InBufferCount:受信バッファに格納されているバイト数を返す. Text2.Text = "読み取り終了" s0 = MSComm1.Input txt_rec1.Text = s0 & Chr(13) & Chr(10) + txt_rec1.Text End Sub Private Sub Delay(ByVal t As Long) 'Delay関数(tの単位はミリ秒) Dim t_0 As Long Dim t_1 As Long t_0 = GetTickCount t_1 = t_0 While ((t_1 - t_0) < t) '条件が満たされるまで続ける t_1 = GetTickCount '更新 DoEvents 'ループ中でも操作可能 Debug.Print GetTickCount Wend End Sub *******************************
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.