将0和1发送到USB数据引脚
Send zeroes and ones to the USB data pins?
我想知道如何制作一些软件和USB硬件。
让我们暂时把硬件问题放在一边。对于软件,如何将数据发送到USB端口?
C++/Java或任何其他语言(更喜欢在Linux上工作)。
USB端口不像"哑"RS-232串行端口。这是一条总线,需要相当复杂的处理,全部由主机(通常是计算机)驱动。像"向数据引脚发送1和0"这样的非常低级的操作或多或少是不可能的。
在Linux中,从用户空间对USB进行编程的最简单方法可能是使用libusb。
在客户端(您的自定义USB硬件),可以寻找具有内置USB控制器或软件堆栈的系统。我认为编写自己的软件堆栈是不可行的,因为你(无意冒犯)似乎还没有达到USB的知识水平。
例如,V-USB是Atmel的AVR微控制器的软件USB堆栈。
正如其他人所指出的,您必须为USB设备编写驱动程序。
另一种选择是通过USB使用串行协议与设备通信,然后您的硬件需要一个USB到串行芯片。关于USB over serial的最佳答案是Mike DeSimone 的问题"如何让C++从USB端口(如串行端口)执行I/O"
如果您想使用USB进行bitbang I/O,那么您可以将FT232等FTDI芯片(用于许多USB到串行电缆)连接到USB端口。在PC上,您可以使用libFTDI对FTDI芯片的I/O引脚进行bitbang。
我认为这是使用USB控制I/O引脚的最简单方法。
串行端口模拟的替代方案是USB HID(人工输入设备),它在Linux上开箱即用。您可以使用"HIDAPI"与您的设备进行通信。
usb端口只是一个串行端口。因此,您首先要看的是编写一个处理串行端口通信的软件。
请注意,无论何时连接,操作系统都可能为设备分配不同的端口号。
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 只需按一次按钮即可通过USB发送数据
- 读取USB与操作系统、C++之间传输的数据
- 读取 USB 串行数据时出现问题
- 如何使用MTP(设备不是相机)从USB设备上传和下载数据
- Arch Linux C 读取USB小鼠定位数据
- C++从外部设备读取数据 - 连接:光电USB
- 如何在Windows中从USB HID设备获取原始描述符数据
- 如何使用asio库打开usb端口并接收数据
- 将数据写入USB设备
- 如何用C++将数据写入usb HID终端
- 在Windows 7上使用C++从USB读取数据
- 使用libusb从USB闪存驱动器读取数据
- 将0和1发送到USB数据引脚
- 读取扫描器原始数据从usb
- 重定向USB数据到以太网/TCP/IP端口
- 在Ubuntu中使用c++从串口读取数据到USB
- "How To" : 侦听通过RS232传入USB的数据
- 通过 USB 将数据从安卓设备流式传输到 PC