クリスマス
趣味の研究室 ShunShun(PC_5)
玄人志向”1P-LPPCI2”(PCI-パラレルポート)の増設...2枚目!!
前回の実験で玄人志向”1P-LPPCI2”が入出力で使えそうだと解りました。が入荷も取り寄せだし、壊れては大変ともう一個予備に頼んでおいた物が来ました。
ま〜このまま棚にしまってしまえばよかったのですが?え?待てよ!。二枚認識できればこれっておいしいな。。。と思ってしまいました。
確かに、コントロールポート、データポートはCプログラムから”_out、_in”で8ビットデータは送れるのですがアドレス用の74LS273でラッチするのにちょっと余分なやり取りが必要です。たとえば、アドレス"00101010"に"11111111"と書きたいとします。この場合
@データポートにアドレスを出力
Aコントロールポートにラッチ信号出力でデータバス上のアドレス信号をLS273に保持
Bデータポートにデータを出力
C書き込み信号出力
これをアドレス専用に1P-LPPCI2を1枚、データ専用に1P-LPPCI2を1枚と別々に接続すれば、
@1枚目の1P-LPPCI2のデータポートにアドレスを出力(データバスとモーションチップアドレスバスは直結です。)
A2枚目の1P-LPPCI2のデータポートにデータを出力
Bいずれかの1P-LPPCI2のコントロールポートから書き込み信号出力
1回分だけですが得します。(笑)たかが1回分、されど1回分だと自分では思うのですが.....
ということで気がつくと既にマザーボードに1P-LPPCI2が2枚実装されてたりします。(汗)
こちらがインストール前のデバイスマネージャ状態。
そしてこちらがインストール後のデバイスマネージャ状態です。LPT3になったようです。変えられますが私のアプリからはデータアドレスを直に指定してますのでこのままにしました。よく見るとデバイス名"OX16PCI95x"が"OX16PCI952"になってます。お〜。これ末尾いくつまで行くんだ。PCIバスは貴重なんだけど1P-LPPCI2が最大何枚認識するか?気になる私でした。
さ〜変な疑問は持たないで。。。プログラムの先頭でアドレスを追加します。さてさてどうなるかな?デバイスドライバもGIVEIOも競合しないかな?
お!データアドレスに"10"を出力しましたが素直に出ました。(注:5VシンクでLED実装の為、出力0がLedOnになってます。)入力状態も問題無しでした。
意外にあっさり行きましたが、2枚目OKです。今現在C#でメイン部分はプログラミングしてますがIO部分はC言語でDLLにしてます。この部分の作りこみの幅が広がりました〜。妄想が広がったとも言いますが.....(汗)。まだまだ1P-LPPCI2遊びは今後も続きそうです。
PC
<Menuに戻る
・開発環境
・E6600の空冷オーバークロック!(2.4GHz⇒3.6GHz)(汗)
・玄人志向”1P-LPPCI2”(PCI-パラレルポート)の増設
・XPでの増設メモリーの有効活用法(Gavotte Ramdisk)
サイト運営について
・免責事項&ご利用規約
・リンクについて
リンク
CNC-ZONE
病院検索 マイドク