2

我需要在我的 C# 代码中通过并行端口输出 8 位数据。我正在使用 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 提供的此代码,尽管该程序没有产生任何错误,但我无法观察到任何输出。我什至在 system32 文件夹中安装了 inpout32.dll。下面给出了将十六进制值输出到并行端口的代码部分。

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;
                }

所有数据引脚都保持高电平,无法控制它们。请帮忙。

4

0 回答 0