繁体   English   中英

如何在Linux中找到USB并行端口设备的基地址?

[英]How to find the base address of usb to parallel port device in Linux?

我在Ubuntu中用C语言进行IO编程。 我需要端口的基地址来写数据。

我的笔记本电脑没有并行端口。 所以我买了一个USB转并口接口。 我插入设备并在/ dev / usb / lp0中检测到它

我运行“lsusb”查看设备列表,我也可以看到ID。 但是我如何获得基地址? 对于通常的硬件并行设备,基地址是0x0378。 使用USB到并行设备时,未检测到此地址。

请帮忙。

USB并行端口没有基地址 - 这对USB来说不是一个有意义的概念。 我担心几年前通过inout指令在PC硬件上进行I / O的日子out结束了,尽管许多旧的教程仍然存在于网络上。

您可以将字节作为字符设备写入并行端口,这些字节将显示在打印机端口引脚上。 USB适配器希望另一端与打印机完全一样握手数据。 如果你想进行通用的I / O原型设计,那么使用简单的USB微控制器(如Arduino)可能会更好。

在此进一步讨论

如果您仍然有兴趣使用这种USB转并行打印机设备进行自己的位冲击,重要的是要知道它们的内置固件总是允许控制D0..D7INIT (作为输出), / ERRONLPE (作为输入),但从用于/ ACKBUSY (输入), / STB/ AF/ SEL (输出)引脚。 并且您需要一个8位锁存器(例如74HCT574)来在选通时捕获数据。

请参阅此处https://www-user.tu-chemnitz.de/~ygu/bastelecke/PC/USB2LPT/faq#DIY ),特别是可能的数据速率。

从软件端访问有点复杂但可能,您可能必须重新构建软件和硬件以使这些适配器可用。 我不知道Linux的情况如何访问,但恕我直言,你不需要编写内核模式驱动程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM