プロが教える店舗&オフィスのセキュリティ対策術

C言語で、RS232Cインターフェイスを使って機器を制御したいのですが、こういった経験がないものなので、どういう準備したらいいか、どういう関数を使ったらいいのかといった基本手順を教えてもらえないでしょうか。
勉強するのにいい本なども知りたいです。

数学系の出身なので、C自体は数値計算で使い慣れています。
環境はWindowsXPか2000があります。

よろしくお願いいたします。

A 回答 (4件)

機器との接続条件やケーブルの結線、どういうタイミングでどのようなデータをやりとりするのかをしっかり把握しておく必要があると思います。



単に通信速度あわせて文字列を送って、文字列を受け取るぐらいなら簡単ですが、
ものによってはかなり特殊なものもあります。
ブレーク信号が必要だったり、RTS,CTSといった信号の自力での制御が必要だったり。
そうなると、自分でWIN32APIでの操作が必要かも。
    • good
    • 0

C言語で使用できるRS232Cインターフェイスは下記URLにあります。

(無償です)DLファイル内にはサンプルもあり手順なども親切に解説されています。基本的には
  (1)ポートのopen
  (2)通信パラメータの設定
  (3)ポートへの書出しまたは読込み
  (4)ポートのclose
です。ポートからの入力データや出力データの形式は器機によって異なります。
市販本についてはあまり知りませんが、Webで検索(キー:rs232c)すれば見つかりますよ。

参考URL:http://www.vector.co.jp/soft/win95/prog/se224900 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。DLしましたので、ちょっと読んでみます。
いい忘れたのですが、実はDOS上で動かしたいと思っています。素人はまずDOSかなーと思いまして。

お礼日時:2004/10/31 13:16

コンポーネントを使う方法が簡単でしょうが、Win32APIを使う手もありますね。


とりあえず動かすだけなら難しくないと思います。
CreateFileで"COM1"をオープン
SetCommStateで通信設定
SetCommTimeoutsでタイムアウト設定
WriteFileかTransmitCommCharで送信
ReadFileで受信
CloseFileで閉じる
実際にはエラー処理などいろいろ必要かと。

参考URL:http://www.asia.microsoft.com/japan/msdn/library …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2004/10/31 13:12

WindowのRS232Cの制御では、フリーのコンポーネントを探してくるのが近道です。

COMXとか・・・いろいろあります。シェアよりも、フリーの物の方が掲示板等でバグ等の指摘が出易いため使いやすいかもしれません。

本格的に使うためには、他人のコンポーネントではなく、自らAPIを操作する必要があります。

また、LinuxのRS232Cでは、WindowsのRS232Cよりも安心して制御出来るように聞いております。

BASICだと、始めからRS232Cの制御も考慮したコンパイラになっているわけで、安易にプログラム出来ます。ですが、BASICでは、いろいろな意味で限界を感じます。

参考URL:http://images-jp.amazon.com/images/P/4789836894. …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2004/10/31 13:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!