タイトル : 解決しました 投稿日 : 2008/01/05(Sat) 15:04 投稿者 : Beginner
何度もお世話になります。 > だったらバイナリモードで取得しないとまずいでしょう。 > > Dim Buffer() As Byte > Dim i As Long > MSComm1.InputMode = comInputModeBinary > Buffer = MSComm1.Input > For i = LBound(Buffer) To UBound(Buffer) > Label1.Caption = Label1.Caption & Chr$(Buffer(i)) > Next i > このコードを試したらうまくいきました。 ただし、現在は1バイトのデータを受信して確認中のため、 LBound(Buffer)も、UBound(Buffer)もともに 1 でした。そこで、 For〜Nextループをやめて、Label1.Caption = Chr$(Buffer(0)) としました。 > > MsgBox str では正しく A が表示されますが、 > > MsgBox "[" & str & "]" では [? となってしまいます。 > > 正しく A が表示されていないから [? になるのでは。 おっしゃるとおりですが、 MsgBox str では、 A と表示されるのです。 > 送信元のデータの文字コードや送信モードはどのようになっていますか? > 送信側は下記にある「シリアル通信チェッカー」というソフトを使用しています。 http://www.asterworld.com/ja/soft/commchk.html また、パソコンの外部(COMポート間)にはスタンドアロンのプロトコルモニタを 接続しており、ASCII/HEXモードで 0x41 を確認しておりました。 当面の問題点はおかげ様でこれで解決しましたので、デバッグを続けます。 ありがとうございました。 |