• ベストアンサー

PC/ATでのシリアルポートの操作

PC/AT互換機でI/Oアドレスの03F8h-03FFhから シリアルポートのDTR,DSR,RTS,CTSを操作したいのですが、 その方法を知りたいです。 回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.2

> DOSのdebugコマンドで作ったプログラムからI/Oを直接叩きたいのです。 今どき珍しい、豪快なやり方ですね。それだったらwikiに良い資料がありますよ。16550 UART(シリアルポートの制御チップ)のI/Oアドレスと設定の対応表です。アセンブラをいじれる人なら、これだけあれば作れるでしょう。 http://community.osdev.info/index.php?(serial)PC16550 今は16550が単独で載っていることはもうなくて、チップセットに吸収されていますが、I/Oアドレスとレジスタの構成は互換性が保たれているはず。

XP9831
質問者

お礼

ありがとうございます! シリアル通信に関してかなり困っていたので、 この情報は非常にありがたいです!

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#194317
noname#194317
回答No.1

それはOSや言語によってお作法が違います。 DOSだったら好きにいじれますが、まがりなりにもマルチタスクなOSだと、ポートを直接叩くなどという不作法は許してもらえないので、APIを捜すか使っている言語で該当する関数があればそれを使う…としか今の時点では答えられません。

XP9831
質問者

補足

ご回答ありがとうございます。 DOSのdebugコマンドで作ったプログラムからI/Oを直接叩きたいのです。 私はDTR,DSR,RTS,CTSは03F8h-03FFhのどこかをいじることで 操作できると思っているのですが、操作するI/Oアドレスもわかりませんし、 なによりこの考え方が正しいかどうかさえわかりません。

すると、全ての回答が全文表示されます。

関連するQ&A