【发布时间】:2013-08-05 14:45:11
【问题描述】:
如何使用 C# 控制 USB 到并行端口?
USB 转并行端口:IEEE-1284(36 针)
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?
【问题讨论】:
-
您是否尝试过以管理员身份运行 Visual Studio 的代码?只是为了检查是否存在安全问题。
-
是的,我试过了,但它没有给出任何错误。我认为问题出在图书馆我正在使用 USB 到并行端口,我认为 inpout.dll 仅适用于真正的并行端口或问题出在地址中:USB 有另一个地址
标签: c# usb led parallel-port lpt