如何使用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?
答案 0 :(得分:0)
有什么问题,端口地址不是1.要检查端口地址,请转到设备管理器,展开端口(COM& LPT),双击所需的lpt端口(并行端口),然后转到到标签资源并获取此值(请参阅下面的链接)
http://i.imgur.com/kcEMCGY.png
然后,您必须更改将地址转换为int的方式,因为端口地址将为十六进制: int address = System.Convert.ToInt16(textBox1.Text,16);
然后在地址文本框中输入该值(在我的情况下,它是0378)。