C に問題があります。VS 2010 Ultimate の Windows 7 Professional x64 でパラレル ポートをプログラムしようとしています。私はパラレル ポートを持っていないので、USB->Parallel からのコンバーターを使用しており、Windows はドライバーを正しくインストールしています。パラレル コネクタの端に 8 個の LED をはんだ付けしましたが、USB をコンピュータに接続すると、すべて正常に動作します。ここで、C で記述されたプログラムを介してパラレル ポートを制御したいと思います。
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <Windows.h>
/********************************************/
/*This program set the parallel port outputs*/
/********************************************/
void main (void)
{
//clrscr(); /* clear screen */
_outp(0x378,0xff); /* output the data to parallel port */
getch(); /* wait for keypress before exiting */
}
プログラムはコンパイルされて実行されますが、エラー メッセージが表示されます。
Unhandled exception at 0x00f313a5 in portovi.exe: 0xC0000096: Privileged instruction.
Windows NT マシンではポート IO が無効になっており、そのためには特定のドライバーが必要であると読みました。それに対する解決策はありますか?