我需要在我的 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;
}
所有数据引脚都保持高电平,无法控制它们。请帮忙。