dポイントプレゼントキャンペーン実施中!

WinXP VB6 にて開発をしています。
RS232Cで通信する必要があり、相手側のボーレートが75bpsとのことです。
しかし標準COMポートでは、最低は110bpsしかサポートされておりません。
デバイスマネージャのCOMポートを確認したところ、75bpsにて設定が出来ますので、
WinXP自体は対応されていると思います。

この状況でどうすれば通信が可能でしょうか?
たとえば。
このソフトをインストールしたらVBでCOM通信ツールが使える?
DLLを作ればいい??
API関数がある??

もしくはこの質問サイトにはプログラミングの猛者がいる。そっちで聞いてみれば?
というようなサイト、ご存知でしたら教えて下さい。

A 回答 (1件)

サポートされていないのではなく、そんな低レートを使用する人がいないから設定項目に無いのでしょう。

実際110bpsより低い通信速度は私も聞いたことが有りません。
VBで特殊なボーレートを使う場合、ランタイムライブラリのMscommではプロパティの値として定義されていませんので使用できません。
APIを使用した場合は特殊な値が使用できます。下の式の結果が整数になるボーレートは指定できます。
115200÷ボーレート
75bpsなら1536で割り切れるので設定できるはずです。逆に110bpsは割り切れないので実際には110.03bpsです。(誤差の範囲で問題ないですが)

私もVB6使いですが、232Cの通信は自由度の高いAPIを使用しています。主なAPI関数をあげておきますので検索してみてください。すべてVBで使えます。
CreateFile
SetupComm
CloseHandle
ReadFile
WriteFile
OpenFile
GetCommState
SetCommState
GetCommModemStatus

この回答への補足

そうですね。75bpsなんて使っていないですね。
今では、運用に耐えかねる速度ですよね・・・
15年程前のシステムの入れ替えを行っているのですが、
どうしてもその機械が残ってしまいそうなんです。
ただ、今後壊れても修理できない為、どうなるか解らないんですが。
パソコンで制御可能か調べておいてくれ。といわれ困っていたところでした。
APIでやはり出来るのですね。
これからさらに調べてみます。ありがとうございました。

補足日時:2006/10/18 13:08
    • good
    • 0
この回答へのお礼

ありがとうございました。
なんとなく出来ました!
これから又頑張ります。

お礼日時:2006/11/01 10:55

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