繁体   English   中英

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

[英]Control USB to Parallel Port using C#

如何使用 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());
      }
}

访问端口类:

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. 要检查端口地址,请转到设备管理器,展开端口(COM 和 LPT),双击所需的 lpt 端口(并行端口),然后转到选项卡资源并获取此值(请参阅下面的链接)

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

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

然后在地址文本框中输入该值(在我的例子中是 0378)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM