- 締切済み
RS232 通信(2)
PC_b のプログラムです よろしくお願い申し上げます Private Sub cmdPort1_Click() '変数宣言省略 ' 使用するシリアルポートを設定します。 Port1.PortNumber = 3 ' 通信条件を設定します。 Port1.BaudRate = 9600 Port1.DataBits = 8 Port1.StopBits = 1 Port1.Parity = parNone ' 受信バッファのサイズを設定します。 Port1.InputBufferSize = 4096 ' 送信バッファのサイズを設定します。 Port1.OutputBufferSize = 4096 ' フロー制御の種類を設定します。 Port1.Handshaking = hsRtsCts ' シリアルポートをオープンします。 blnOpenRet = Port1.Open(3, 9600, 8, 1, hsRtsCts, parNone, _ 10000, 10000, iomBlocking) On Error Resume Next ' 使用するシリアルポート、通信条件を設定し、 ' シリアルポートをオープンします。 ' 文字列にCR+LFを付けてデータを送信します。 lngOutputRet = Port1.Output("abcdefg1234" & Chr(&HD) & Chr(&HA)) ' 受信処理を行います。 lngInputRet = Port1.Input(strInputString, 5) ' 送信バッファにデータが残っている場合、 ' すべてが送信されるまで待機します。 Do DoEvents Loop Until Port1.OutputBufferByteCount = 0 ' 送信バッファと受信バッファをクリアします。 Port1.ClearOutputBuffer Port1.ClearInputBuffer 'オープンしているシリアルポートをクローズします。 If Port1.Opened Then ' シリアルポートをクローズします。 Port1.Close End If End Sub 関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=453883
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Hayashi_Trek
- ベストアンサー率44% (366/818)
まずは、PC_aとPC_bの両方でハイパーターミナルを使って通信できますか? できなければ、ケーブルが間違ってます。 クロスケーブルというのを使って(or作って)ください。 プログラムの方は、コントロールがMSCOMMじゃないみたいなので、間違いが有るかどうかは不明です。 (MSCOMMだとしたら間違っています)