Мне нужно вывести 8-битные данные через параллельный порт в моем коде C #. Я использую Windows7 Ultimate и у меня материнская плата Intel 945GCNL, которая имеет параллельный порт и настроена на адрес 0378-037F. Порт инициализируется ядром (при запуске все контакты D0-D7 имеют высокий уровень). Я не могу записать данные даже после использования приведенного ниже кода.
using System;
using System.Runtime.InteropServices;
public class PortAccess
{
[DllImport("inpout32.dll", EntryPoint="Out32")]
public static extern void Output(int adress, int value);
}
Я пытался использовать этот код, доступный в codeproject, хотя программа не выдает никаких ошибок, я не могу наблюдать какие-либо выходные данные. Я даже установил inpout32.dll в папку system32. Часть кода, которая выводит шестнадцатеричное значение на параллельный порт, приведена ниже.
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;
}
Все контакты данных остаются на высоком уровне, и контролировать их невозможно. Пожалуйста, помогите.