タイトル : Re^10: VB2005で、シリアル通信について 投稿日 : 2009/04/30(Thu) 12:16 投稿者 : オショウ
> '送信処理 > Private Sub Serial_Send(ByVal Str_Send As String) > > Try > '送信コマンド発行 > _com.WriteLine(Str_Send) > Call AddMessage("[SND]" + Str_Send) > > > Dim bret As Boolean > '非シグナル状態でManualResetEventオブジェクトを作成 > manualEvent = New ManualResetEvent(False) ● このタイミングでmanualEventを生成しても遅い・・・ Dim bret As Boolean '非シグナル状態でManualResetEventオブジェクトを作成 manualEvent = New ManualResetEvent(False) '送信コマンド発行 _com.WriteLine(Str_Send) Call AddMessage("[SND]" + Str_Send) とすべき・・・ > 'スレッドを作成し、開始する > Dim t1 As New Thread(New ThreadStart(AddressOf MyMethod)) > t1.Name = "1" > t1.Start() ● このスレッド処理が何をしているか解りませんが、非常に重い処理を 行う可能性があるならば、シリアル通信の受信モレを起こす可能性が あるので、シリアル送受信の最中に別負荷を発生するようなコーディ ングは好ましくありません。 最近はCPUが高機能化していますので、難なく受信できますが基本 送受信最中には行わないのがFA的にはベスト! 以上。 |