【问题标题】:Do I even need libusb?我什至需要 libusb 吗?
【发布时间】:2011-10-12 14:29:32
【问题描述】:

我对我从事的一个项目有一个功能要求,它是与 Paylife CC 手持设备集成,该手持设备有一个 USB 连接器来连接计算机。我有文档,并且正在阅读它。

当我在 google 上搜索如何在 linux 上读取/写入 USB 设备时,它说使用 libusb。

我想知道,还有其他可能吗?我不能像文件一样打开它并向其中写入流,然后从中读取流吗?

我实际上不需要做任何花哨的事情。我只需要向设备写入一串控制代码,读回 ACK 和错误代码就好了。但由于这些已经显示在设备屏幕上,我不需要做太多,只需提供付款所需的总额即可。

所以我的问题是,我有哪些选择?

连接的计算机是一个普通的ol ubuntu linux盒子。

【问题讨论】:

  • 自带驱动吗?如果是这样,您可以搜索系统的文档。
  • 不,它只包含几个 .pdf 文件,涵盖了可以想象的所有可能场景,所以它有点压倒性。他们完全是德语并没有帮助,我不会说 :) 上帝,我喜欢成为一名软件工程师。

标签: c++ libusb


【解决方案1】:

当设备符合USB device classes 之一时,这绝对是可能的——它们的驱动程序是通用的。

如果不是这种情况,那么您可以坚持使用制造商提供的驱动程序或第三方驱动程序,只要有一个并且您拥有足够的文档。

如果不是这样,libusb-1.0 是您的选择,除非您想自己编写内核驱动程序:)

【讨论】:

  • 我没有提供任何驱动程序,而且文档似乎甚至没有表明它有 USB,它声称 RS232,但它只有一个 USB 端口......我会得到设备在 2 小时内物理上,并祈祷它像 USB 打印机一样工作,我可以写信给它。否则,我将不得不打电话给公司并找出...
  • 可以通过usb创建com接口。连接设备时搜索内核日志。它可能会记录创建的 com 端口文件
  • 销售点终端几乎普遍采用 RS232,因此您可以预期这将是串行 USB 接口。
  • 是的,serial-over-USB 是一种常见的情况,它被内核处理为communications class。如果是这样,您最终将只有一个 TTY。
  • 这基本上就是最终发生的事情,当然,现在的问题是处理串行-> USB 转换器。由于某种原因,我所拥有的那个往往会在一段时间后停止工作,我必须拔掉并重新插入它。
猜你喜欢
  • 1970-01-01
  • 2016-09-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 2010-09-20
相关资源
最近更新 更多