使用C#控制USB到并行端口

时间:2013-08-05 14:45:12

标签: c# usb led parallel-port lpt

如何使用C#控制USB到并行端口?

USB转并口:IEEE-1284(36Pins)

IEEE-1284引脚配置图像:

http://i.stack.imgur.com/b75Z5.png

操作系统(操作系统):Windows 7 x64

编程语言:C#

我的代码:

private void button1_Click(object sender, EventArgs e)
{
     try
     {
          int address = System.Convert.ToInt16(textBox1.Text);
          int value = System.Convert.ToInt16(textBox2.Text);

          AccessPort.output(address, value);
      }
      catch(Exception ex)
      {
          MessageBox.Show("Error: " + ex.ToString());
      }
}

AccessPort类:

static class AccessPort
{
    [DllImport("inpout32.dll", EntryPoint = "Out32")]
    public static extern void output(int address, int value);

    [DllImport("inpout32.dll", EntryPoint = "Inp32")]
    public static extern int input(int adress);
}

我有LED(发光二极管)连接到D0。当我将地址设置为1并将值设置为1并单击按钮时它不会给出错误但LED不会亮起因为inpout32.dll是实际并行端口的库但我有USB到并行端口或我的地址和值不正确的USB到并行港口。

如何使用C#编程语言点亮带USB到并行端口(LPT)的LED?

1 个答案:

答案 0 :(得分:0)

有什么问题,端口地址不是1.要检查端口地址,请转到设备管理器,展开端口(COM& LPT),双击所需的lpt端口(并行端口),然后转到到标签资源并获取此值(请参阅下面的链接)

http://i.imgur.com/kcEMCGY.png

然后,您必须更改将地址转换为int的方式,因为端口地址将为十六进制:     int address = System.Convert.ToInt16(textBox1.Text,16);

然后在地址文本框中输入该值(在我的情况下,它是0378)。