问题标签 [parallel-port]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
243 浏览

fpga - 如何控制并行接口的所有引脚?

我正在将定制处理器架构实现到 FPGA 中,一旦设计和老化完成,我想通过内置的 8 位并行接口给它简单的命令来测试它。

显然,我打算编写一个能够在 PC 端对其进行指令的程序,理想情况下,接口的每个逻辑概念都由处理器本身处理。即PC端与芯片上的并行总线架构之间不支持芯片或架构。

问题是,是否可以断言对并行接口的所有引脚的控制?理想情况下,我会使用 Acknowledge 和 Select 引脚在测试程序和芯片之间创建一个自定义握手协议 - 两者中的高电平或低电平的组合将决定处理器内核对引脚 D0 处数据流的操作 - 7.

我已经阅读了有关使用 inpout32.dll 命令并行端口的信息,但这是否允许“在引擎盖下”访问端口的所有功能,或者它只是提供一种使用它进行通信、隐藏所有其他功能或自动化的方法他们?

我意识到我可以很容易地在微控制器中实现一个功能并充当缓冲区——也就是说,USB 传输数据并让它处理传输吞吐量本身的逻辑实现,但我更愿意控制接口完全靠电脑。

0 投票
2 回答
13619 浏览

linux - 如何在 Linux 中访问并行端口

在我的 Linux 机器(Debian Wheezy)上,我尝试访问并口,request_region()但失败了,因为系统已经加载了内核模块parport......

所以,我的rmmod模块lp,,ppdev和。然后,我可以成功插入我的模块。parport_pcparport

inb()但是,从返回的基地址0xff,无论写入什么值。

rmmod内核中的那些模块之前,我可以编写和读取这个寄存器。然后我在系统启动时将这些模块列入黑名单,我可以读写这些寄存器,我的模块也可以工作。似乎 的clearup函数parport_pc做了一些使硬件无法使用的事情。(至少端口的状态与加载模块之前的状态不同)。

我的问题是为什么,我应该怎么做才能恢复端口而不是重新加载parport_pc

0 投票
1 回答
6556 浏览

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

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

USB转并行端口:IEEE-1284(36Pins)

IEEE-1284 引脚配置图:

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

操作系统(操作系统):Windows 7 x64

编程语言:C#

我的代码:

访问端口类:

我将 LED(发光二极管)连接到 D0。当我将地址设置为 1 并将值设置为 1 并单击按钮时,它不会给出错误但 LED 不会亮起,因为 inpout32.dll 是真正并行端口的库,但我有 USB 到并行端口,或者我的地址和值对于 USB 到并行不正确港口。

如何使用 C# 编程语言通过 USB 到并行端口(LPT)点亮 LED?

0 投票
1 回答
840 浏览

c# - 在并行端口上使用 SetCommTimeouts 失败

SetCommTimeouts 和 GetCommTimeouts 是 kernel32 中的函数,用于设置和获取与设备通信时的超时。

现在 GetCommTimeouts 对我有用,但 SetCommTimeouts 返回错误代码 87,表示参数错误。

现在我的问题是这个 SetCommTimeouts 在与并行端口通信时是否有效?

如果是这样,我该怎么做才能解决它?

0 投票
1 回答
897 浏览

hardware - 使用 PC 硬件读取/写入 9 条不同的 I/O 线

我有一个可能可以使用 Arduino 或 Raspberry Pi 解决的问题,但我想知道一个好的旧普通台式机或笔记本电脑是否实际上是最简单的方法。

我需要测试工业数量的定制电缆。每根电缆有 9 根线和两端,我们可以称为 A 和 B。我想确保如果在一端向 Ax 提供信号(对于 [0..8] 中的 x),则相应的 Bx 得到信号(并且只有 Bx,因为我想测试可能的短路)。所以基本上我需要一个可以独立写入 9 个输出引脚并同时从 9 个输入引脚读取的设备。

请注意,我有丰富的 C 语言低级位操作编程经验,但没有太多编程 I/O 端口的经验。起初,我认为一根并行电缆——有很多针脚——可能会奏效,但似乎只有 8 个针脚实际上是可读或可写的。它是否正确?我可以写入 8 个引脚并同时从其他 8 个引脚读取吗?如果是这样,那么我也许可以通过使用两个并行端口来组合一个解决方案(记住,我需要测试总共 9 根线)。

无论如何,是否有其他 PC 端口可以让我同时读/写 9 行?我非常感谢您对这个问题的洞察力。可能有一种我没有考虑的开箱即用的方法,或者可能是一些简单而廉价的 USB 外设,它给了我大量的 GPIO 引脚。

0 投票
0 回答
483 浏览

c# - 如何通过打印机访问并行端口以在 C# 中打印 RFID 条形码?

我在网上找到了两种使用 C# 的方法:

  1. 使用 win32 api 中的 CreateFile 和 WriteFile:

    它可以很好地传输条码命令和打印条码,但不能从并口读取状态。

  2. 使用 Inpout32.dll:主要有两个功能:

    • short Inp32(short PortAddress)
    • void Out32(short PortAddress, short data)

但是参数的类型是short; 如何一次传输打印命令字符串?

0 投票
2 回答
7824 浏览

python - Python设置并行端口数据引脚高/低

我想知道如何将并行端口上的数据引脚设置为高电平和低电平。我相信我可以为此使用 PyParallel,但我不确定如何设置特定的引脚。

谢谢!

0 投票
0 回答
116 浏览

c - EPP端口看门狗定时器:它是如何工作的?

我正在从事一个涉及快速数据采集(科学实验)的项目。我将构建一个基于 MCU 的模块,它将每 10 微秒(以最快的速度)提供 2 到 4 个字节的数据。这些数据必须实时传输到 PC 以进行进一步处理。为了降低设备成本,我选择使用 PC 的增强型并行端口 (EPP) 进行连接。它的数据速率(500 KB/s 到 2 MB/s)应该足够了。

控制程序将用 C 语言编写并在 DOS 下运行(我使用 DJGPP),EPP 端口将由直接 I/O 端口读/写处理,以实现最高效率。

不幸的是,我在网上找到的大多数关于 EPP 端口编程的文档都写得很糟糕而且令人困惑。我的第一个请求实际上是指向一个综合文档的指针/链接,该文档将清楚、合乎逻辑地解释 EPP 端口的操作。

无论如何,我设法找到了我需要的大部分东西,但有一件事让我感到困惑。文档中提到了 EPP 端口中的“看门狗定时器”,如果在大约 10 微秒内没有来自连接设备的响应,它将设置状态寄存器的第 0 位。其中一个文档甚至建议在此状态位处于活动状态时对其进行监视和重置。AFAIK 这是胡说八道:状态端口是只读的。那么这个看门狗定时器是如何工作的呢?我假设逻辑方法是 LPT 控制器电路在每次启动新的读取或写入操作时重置该位。这个假设正确吗?如果没有,我应该如何处理这个信号?

0 投票
1 回答
506 浏览

c# - 如何测试并口 C# 应用程序?

我正在实现一个简单的 C# 应用程序,它通过并行端口控制一些 LED(开/关)。我现在的问题是我想测试应用程序并监控我发出的信号的行为。

问题:

是否可以在我的 Windows PC 上拥有虚拟并行端口地址并监视该端口?请注意,我的笔记本电脑中没有 LPT 端口,此应用程序将在另一台 PC 上执行。

0 投票
1 回答
465 浏览

c# - c# LPT loopbacktest

我需要通过 Loopbacktest 测试 LPT 端口。我有 Loopbackdongles,只想知道 LPT 端口是否正常工作。我不知道如何用 c# 来实现这个目标。我知道我需要这些 inpout.dll 用于 32 位或 64 位。但是我怎样才能将它用于环回?

提前致谢。