我需要在C#代码中通过并行端口输出8位数据。我使用的是Windows7旗舰版,并且有一个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;
}
所有数据引脚都保持高电平,无法控制它们。请帮忙。