シリアル通信でDTRを扱うには?


ジャック  2006-11-26 22:47:50  No: 63695

今VC++6.0のMFCダイアログベースでシリアル通信を行うプログラムを作っています.
コンピュータ間をシルアルケーブル(9ピン)を使って,テキストなどの送受信を行うようなプログラムは作成済みで,動作も確認済みす.その場合は「2番ピン:データ受信、3番ピン:データ送信、5番ピン:信号の接地用」の3つのピンだけ使えば可能なので,とくにプログラムの中で何番ピンを使うといったことを意識しなくても使えますが,
私は更に4番ピン(一般的にはDTRと呼ばれている?)を,プログラムの中で制御してon offを行いたいのです.

具体的には送信用のコンピュータと受信用のコンピュータがあって,さらに受信用のコンピュータから他の装置を4番ピンを使って接続し制御したいのです.

例えば受信用コンピュータのプログラムのif文で,

if(受信データ==0)
{
 4番ピンをonにする
}

if(受信データ!=0){
  4番ピンをoffにする
}

のような制御を行いたいのです.
方法が全くわかりません.色々調べたのですが,それができるかどうかもわかりません.
もし知っている方いれば,ご教授願います.
ちょっと急いでいるので,よろしくお願いします!!


  2006-11-27 02:32:40  No: 63696

MSDNを読むといいよ


えてこう  2006-11-27 21:26:05  No: 63697

フロー制御したいのでしょうか?


ジャック  2006-11-27 22:02:06  No: 63698

フロー制御ではないです.
使わないシリアルの4番ピン(DTR)を使って,他の機器を制御したいのです.
つまり,

2番と3番では普通にデータの送受信を行い,
4番だけ別の機器に接続して,onoffによりその機器を制御するということをしたいと考えています.イメージだとこんな感じです.

送信コンピュータ

      ↓(テキスト送信)

受信コンピュータ(ポートは1つしかない)

      ↓(受信した文字によってDTRをonoffしてある装置を制御)
    
    ある装置(LEDなど)

もっと調べてみたら,
EscapeCommFunctionっていう関数があるんですね!
今知りました!
今からこの関数使って制御できるか挑戦してみます!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加