首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C#控制U盘转并口

用C#控制U盘转并口
EN

Stack Overflow用户
提问于 2013-08-05 22:45:12
回答 1查看 6.5K关注 0票数 0

如何用C#控制USB并口?

USB至并行端口: IEEE-1284 (36针)

IEEE-1284引脚配置图像:

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

操作系统: Windows 7 x64

编程语言: C#

我的代码:

代码语言:javascript
复制
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类:

代码语言:javascript
复制
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转并行端口的发光二极管?

EN

回答 1

Stack Overflow用户

发布于 2013-08-06 01:40:47

问题是端口地址不是1。要检查端口地址,请转到设备管理器,展开端口(COM和LPT),双击所需的lpt端口(并行端口),然后转到选项卡资源并获取此值(参见下面的链接)

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18061061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档