Запись в параллельный порт в Windows 7 - PullRequest
2 голосов
/ 04 февраля 2012

Мне нужно вывести 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;
                }

Все контакты данных остаются на высоком уровне, и контролировать их невозможно. Пожалуйста, помогите.

...