如何用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);
}我有发光二极管(发光二极管)连接到D0。当我将地址设置为1,值设置为1,然后单击按钮,它不会给出错误,但LED不会亮起,因为inpout32.dll是真正的并行端口的库,但我的USB到并行端口或我的地址和值不正确的USB到并行端口。
如何使用C#编程语言点亮具有USB转并行端口的发光二极管?
发布于 2013-08-06 01:40:47
问题是端口地址不是1。要检查端口地址,请转到设备管理器,展开端口(COM和LPT),双击所需的lpt端口(并行端口),然后转到选项卡资源并获取此值(参见下面的链接)
http://i.imgur.com/kcEMCGY.png
然后,必须更改将地址转换为整数的方式,因为端口地址将是十六进制的:整数地址= System.Convert.ToInt16(textBox1.Text,16);
然后在地址文本框中输入该值(在我的例子中是0378)。
https://stackoverflow.com/questions/18061061
复制相似问题