2011.12.23
前へ
次へ
目次へ戻る
ホームページトップへ戻る

パソコンをつくろう!(パソコン自作のすすめ)
組み立てキットを使って自作に挑戦!

[第276回]


●パラレルポートのパルス出力(2)

前回からの続きです。
前回はパラレルポート出力プログラムを少し変更して、間にsleepをはさまないで連続してパルスを出力してみました。
その結果は以前に8086アセンブラで書いた機械語のプログラムでパラレルポートを出力したときと、ほぼ同じ結果になりました。
パルス幅はどちらも1μ秒ほどで、CPUクロックがGHz台のパソコンであることを考えると、非常に遅いパルスしか出力されていないことになります。
おそらくはセントロニクス準拠という規格に合わせるために、なんらかのハード的な仕組みによってそのようなことになるのだと推測されます。
前回はそこまで書いたところで終わってしまいました。

ところで前回も少しだけ書いたことなのですが、Windows上のDOSプロンプトでパラレルポートにパルスを出力するプログラムを実行しますと、ときどきかなり大きな出力の中断が発生します。
このことについては、テーマ別に再編集する前の[第400回]で説明をしています。
下の写真は、前回お見せしたのと同じものですが、その様子をオシロで観察したときのものです。

60μ秒ほどもあります。
おそらくWindowsシステムの何らかの割り込み処理によるものだと思われます。

うーん。
MSDOSの時代から、こんな調子だったのですかねえ。
実は前述の[第400回]ではWindowsだけではなくて、Windows95の時代のMSDOSや、MSDOS互換のFreeDOSでも、同じプログラムを実行してその結果についても書いています。
これがそのときの写真です。

Windows上のDOSプロンプトで実行したときに比べれば中断している時間は1/10程度まで縮まってはいますけれど、それでも中断していることは間違いありません。
おそらくはキーボード、マウス入力をセンスしているのでは、と思います。

●やっぱりリナックスは優れもの

それでは、Ubuntu11.10で同じことを実行してみた結果はどうだったのでしょうか。
下の写真は前回もお見せしました。
outtest7を実行した結果、パラレルポートからパルスが出力されている様子です。

中断していないように見えませんか?
そのことを確認するために時間軸を変えて観測してみました。

やっぱり中断はしていないようです。
WindowsのDOSプロンプトでの実行結果と比べてみれば、リナックス(Ubuntu)の方が優っていることは疑う余地はありません(そのことをもってOSとしての機能の優劣を論じることはできませんが)。

しかも。
一見して、キーやマウスをセンスしているようには見えませんが、ちゃんとキー入力もマウスの動きもまともに受け付けてくれるのです。
いったいどうやっているのでしょうね。
もっとも、画面コピーを撮るためにPrintScreenキーを押してカシャリとやったときは、一瞬オシロの波形が乱れたように見えましたから、どんなときでも全く中断しない、ということまでは言えないようです。

●フラットケーブルを作り直しました

パラレルポート出力プログラムを実行してその様子を確認するために、当初はその辺にころがっていた、ありあわせのフラットケーブルを利用していました。
[第266回]でお見せした写真です。


しかしこういういい加減なものを使っておりますと、そのうちになにかの拍子に線が接触して出力がショートしたりしかねません。
そうなりますとせっかくのパラレルポート様が昇天あそばしてしまいます。
くわばらくわばら。
そのようなことにならないように、転ばぬ先の杖です。
しっかりしたケーブルで作り直しました。


Ubuntu11.10でのパラレルポート出力プログラムにつきましては。
これにて一件落着。

というわけにはなかなかいかないのでありますよね。私の場合。

一件落着しようとしましたときに。
またしても、思わぬ事態が発生してしまったのでありました。

パソコンをつくろう![第276回]
2011.12.23upload

前へ
次へ
目次へ戻る
ホームページトップへ戻る