可以使用 GNU GCC 编译器构建 libusb 吗?

问题描述

我正在尝试开始使用 libusb 通过 COM 端口(编辑:对于我的 Rs232 设备)进行通信,仅在 Windows 10 x64 上。我的 IDE 是 Code:blocks。我有几个问题:

我下载了 libusb from their website(最新的 Windows 二进制文件

libusb download

但我注意到 sourceforge 中有它的 libusb-win32 ''version''。它说

“libusb-win32 是 Windows 下 libusb-0.1 的一个端口”

  1. 这是什么意思,我应该使用“最新的 Windows 二进制文件”版本还是“libusb-win32”版本?

此外,他们网站上的自述文件(“libusb windows 二进制文件”)有在 Visual Studio 和 Mingw 中编译的说明,并且只有 Visual Studio 和 Mingw 的文件

  1. 这是否意味着我无法在 GNU GCC 编译器中编译 libusb?

编辑:问题 2) 已在此处回答:https://stackoverflow.com/a/38252750/13294095

解决方法

“我正在尝试开始使用 libusb 通过 COM 端口进行通信(编辑:对于我的 Rs232 设备),仅在 Windows 10 x64 上”

如果您有一个设备,当您通过 USB 端口将其插入 PC 时,它会实例化一个 COM 端口,那么该设备确实有一个 UART。该设备还必须具有在连接到 PC 时安装的驱动程序,并导致建立您可以在设备管理器中看到的串行端口(在端口下)阅读有关 USB serial driver 的一些背景信息。

“我在 Rs232 之后有一个物理 uart 设备,我是我的 MCU。我使用 Rs-232 从 UART 转换为 USB 协议。-即使我没有 知道什么是“虚拟通信端口”。

您的设备可能有一个 UART,但是当您通过 USB 端口将其插入 PC 时,会通过 PC 上的驱动程序创建一个 virtual serial port...“当 USB 到串行适配器通过 USB 端口连接到计算机,计算机上的驱动程序创建一个虚拟 COM 端口,该端口显示在 Windows 的设备管理器中“...阅读more here。 (在架构下)

简而言之,如果您将设备插入PC时,您可以在设备管理器中看到一个已经创建的端口,那么所有的工作就完成了。您的应用程序代码可以包含一个 C serial port library 来打开一个端口并发送/接收串行消息等。但是,如果您正在开发带有 UART 的设备以通过 USB 端口在 Windows PC 上工作,那么是的,您需要创建一个驱动程序。也许 libUSB 适合你。