VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/04/26(Tue) 15:48
投稿者なまごん
URL
タイトルMSCommについて

VB6.0を使用しています。
機器とパソコンを232Cで通信しているのですが、
機器の電源を立ち上げた時にハード的にHEXでE0を吐き出して来てしまいます。
EOの時はキャンセルしたいのですが、Inputを変数(Buffer)に入れる1行(B)を処理するのに15秒
程度かかってしまってます。(約850Mhzのパソコンで)
InputModeをcomInputModeBinary(Aをコメントして@を使用)にすると直ぐに処理できるのですが
変数(Buffer)にMSComm1.Inputがうまく入らず他の通信が出来ない状態です。
(色々変換してみたのですが・・・)

またパソコン同士を232CでつないでE0を送っても同じような状態でした。

E0のデータがきても処理に時間が掛からない方法、InputModeがcomInputModeBinary
の時の扱い方など何か良い方法がありましたら教えて下さい。

232Cの設定(制御線は使用していません。)
Private Sub Form_Load()
    With MSComm1
        .InBufferSize = 1024
        .OutBufferSize = 1024
        .InputLen = 1
        .RThreshold = 1
        .CommPort = 1
        .Settings = "38400,N,8,1"
        .PortOpen = True
    End With
End Sub

Private Sub MSComm1_OnComm()
Dim buffer As Variant
    Select Case MSComm1.CommEvent
        Case comEvReceive
            'MSComm1.InputMode = comInputModeBinary   '@
            MSComm1.InputMode = comInputModeText    'A
            buffer = MSComm1.Input            'B
    End Select
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -