その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。シリアルポート(RS232C)を使って外部装置と通信することも少なくなりました。今回はシリアルポートを使う方法を説明します。SerialPortコントロールを使うには、フォーム上にツールボックスからSerialPortを選択し貼り付けます。以下の図は、SerialPortコントロールを貼り付けた後の様子です。MSDNの説明によれば以下の様になっています。(代表的なものを示しています。青色は今回使用しているものです。:通信用のポートを取得または設定します。これに限定されるわけではありません。レートを取得または設定します。:受信バッファー内のデータのバイト数を取得します。・BytesToWrite:送信バッファー内のデータのバイト数を取得します。ラインの状態を取得します。シグナルの状態を取得します。閉じた状態を示す値を取得します。プロトコルを取得または設定します。有効にする値を取得または設定します。ビットの標準の長さを取得または設定します。ビットの標準の数を取得または設定します。・ReadBufferSize:SerialPortの入力バッファーのサイズを取得または設定します。タイムアウトになるまでのミリ秒数を取得または設定します。オブジェクトを破棄します。ポート接続を開きます。読み取ったバイトを指定したオフセットでバイト配列に書き込みます。バイトを読み取ります。ポートに書き込みます。ポートを介してデータが受信されたことを示します。そんなことをしなくてもデバッグができるソフト(ドライバ)が在ります。その2個をループバックできる様に仮想的に接続できるという優れものです。以下のリンク先でソフトをダウンロードしてインストールしてみて下さい。(尚、もう一台のPCなどがあれば必要ありませんが)⇒http://sourceforge.net/projects/com0com/このドライバをインストールすると、私のPCではCOM7、COM8が追加で生成されました。インストール後のPCの状況を以下の図に示します。通信テスト用に以下のフリーソフトを使いました。「のん」さんといわれる方が作成された「RS232Cテストツール」です。以下のサイトにアクセスすれば、ダウンロードできます。⇒http://nonsoft.la.coocan.jp/Download/Rs232cTool/index.htmlこの方はいろいろなフリーソフトを作成されている様です。使えるソフトが満載です。インストール後の「RS232Cテストツール」を動作させている様子を以下に示します。実際のプログラムを以下に示しますので、説明します。フォームにSerialPort、TextBox、Buttonを各1個ずつ貼り付けます。フォームロードイベントでは、シリアルポートの設定を行い、ポートのオープン処理を行います。ストップビット「1Bit」です。SerialPortのReadコマンドで受信バイトを全て読込みます。読込んだバイト配列を文字列に変換し、TextBoxに設定します。プログラム的には出来ている様な感じがしますが、これをデバッグモードで実行してみます。先ほどの「RS232Cテストツール」を実行し、送信TEXTにデータを設定し、送信します。実際は以下の様なエラーが発生しました。スレッド間のアクセスが起きてエラーが発生した様です。スレッドで発生します。使用して変更要求をポストバックします。これにより、適切なスレッドで処理が実行されるようになります。Invoke等を使用しなさいとのことの様です。プログラムを以下の様に書き換えました。最近のPC、特にノートPCの場合ではRS232Cのコネクタがついていることは殆んどありません。そのため、以下の様なUSBを使ったRS232Cの変換ケーブルが使えそうです。プログラミングについて忍者ブログ[PR]。