C# コードで、パラレル ポートを介して 8 ビット データを出力する必要があります。私は Windows7 Ultimate を使用しており、パラレル ポートを備え、アドレス 0378-037F に設定された Intel 945GCNL マザーボードを使用しています。ポートはカーネルに対して初期化されます (起動時にすべてのピン D0 ~ D7 が High になります)。以下のコードを使用した後でも、データを書き出すことができません。
using System;
using System.Runtime.InteropServices;
public class PortAccess
{
[DllImport("inpout32.dll", EntryPoint="Out32")]
public static extern void Output(int adress, int value);
}
コードプロジェクトで入手可能なこのコードを使用してみましたが、プログラムはエラーを生成していませんが、出力を観察できません。system32 フォルダーに inpout32.dll をインストールしました。16 進値をパラレル ポートに出力するコードの部分を以下に示します。
switch(j)
{
case 0:
PortAccess.Output(888, 24);
break;
case 1:
PortAccess.Output(888, 36);
break;
case 2:
PortAccess.Output(888, 66);
break;
case 3:
PortAccess.Output(888, 129);
break;
case 4:
PortAccess.Output(888, 0);
break;
case 5:
PortAccess.Output(888, 129);
break;
case 6:
PortAccess.Output(888, 195);
break;
case 7:
PortAccess.Output(888, 231);
break;
case 8:
PortAccess.Output(888, 255);
break;
}
すべてのデータ ピンは High のままであり、それらを制御する方法はありません。助けてください。