Tag: usb

连接由V-USB库驱动的libUSB设备用于AVR

我写了一个简单的程序(基于以下教程),通过USB端口将数据从AVR芯片(Attiny 2313)发送到计算机,因为这个设备没有内置USB端口,我已经使用V-USB库通过软件模拟这样的端口。 设备按预期工作,我使用libusb库将它与C接口没有问题,但是我想用Java访问它,所以我查找了libusb的java实现。我管理的唯一库设置,它已成功找到总线上的USB是“libusb-win32包装” 。 唯一的问题是当我尝试打开它时设备会抛出exception ch.ntb.usb.USBException: No USB endpoints found. Check the device configuration at ch.ntb.usb.Device.updateMaxPacketSize(Device.java:82) at ch.ntb.usb.Device.initDevice(Device.java:114) 怎么修好? 还有另外一种方法吗? 任何建议? 这是抛出exception的代码 Device dev = USB.getDevice((short) 0x16c0, (short) 0x05dc); dev.open(1, 0, -1); 这里是关于设备viw USBview的数据 Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0xFF bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x08 (8) idVendor: 0x16C0 idProduct: 0x05DC bcdDevice: 0x0100 iManufacturer: 0x01 […]

点灰萤火虫MV,dc1394和USB 3.0

我试图从一个点灰色萤火虫mv抓取帧,我已经使用dc1394驱动程序为我的程序编写了一个接口。 当我将firefly连接到USB 2.0端口时,驱动程序正常工作,但是当我连接到USB 3.0端口时,dc1394在函数调用dc1394_capture_setup()时抛出以下错误 libdc1394 error: usb: Failed to submit initial transfer 13 错误代码未在dc1394 / log.h中列出,并且相同的设置在USB 2.0端口中有效。

IOKit写入USB接口挂起/超时

可能有一些非常简单的东西,我没有做或被忽略但是我没有想法,因为我是IOKit的新手。 我想重新创建一些只有Windows的软件,我带有USB设备。 我在VM上安装了Snoopy,然后点击程序上的一个按钮,关闭LED,然后查看日志,希望了解发生了什么。 看起来每个按钮点击软件,就会发送2个数据包。 一个到接口,一个到端点,前6个字节是相同的。 我不知道为什么会这样。 史努比日志: 我还将设备连接到我的Ubuntu VM并运行sudo lsusb -v以在设备上收集更多信息: Bus 001 Device 009: ID 1234:1234 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1234 idProduct 0x1234 bcdDevice 1.00 iManufacturer 1 (error) iProduct 2 (error) iSerial 3 (error) bNumConfigurations 1 Configuration […]

发现多个USB-IrDA设备,打开并连接每个插槽

对于任何好的套接字程序员: 是否可以使用套接字通过USB端口枚举连接到PC的多个活动IrDA设备? 如果是这样,怎么样? 这是我的主要问题。 该post的其余部分详细说明了我所尝试的内容。 我正在使用Microsoft SDK和ANSI C编译器在Windows 7上开发应用程序。 应用程序设计要求它检测范围内的任何IrDA设备,使用套接字连接,并通过多个IrDA加密狗(每个设备一个加密狗)与多个设备通信,每个加密狗通过USB连接到PC。 注意:应避免使用虚拟COM端口。 我已成功使用套接字调用来枚举 ,创建套接字,连接并与单个IrDA设备通信。 这很好用。 但是,我不确定如何设置代码以成功枚举多个IrDA设备。 到目前为止,我一次只能连接到一个设备。 即使很明显Windows正在“ 发现 ”三个IrDA加密狗,如下图所示 – 整体情景(第一张图片),设备管理器(第二张图片),设备属性(第三张图片): 图1:总体情况: 图2:从设备管理器: 图3:每个“找到的”IrDA设备的属性 (包含后两个箭头以显示所有三个设备的Port-Hub地址) 我正在使用的简单场景: (某些变量名称与上面的场景描述不同,但在代码中是一致的) 第一个 – 我将两个有效的IrDA设备放在两个加密狗的前面(由几英尺隔开,因此两个设备之间没有信号模糊)现在只使用2来保持简单。 第二 – 我创建了2个IrDA套接字,使用两个句柄:socket(AF_IRDA,SOCK_STREAM,0); 3号 – 我打电话: if ((errorCode = getsockopt(gSocketHandle[0], SOL_IRLMP, IRLMP_ENUMDEVICES, (char*)pDeviceList, &deviceListLength)) == SOCKET_ERROR) 4 – 然后我用pDeviceList和中的新信息填充destinIrdaDeviceAddr memcpy(&destinIrdaDeviceAddr.irdaDeviceID[0], &pDevList->Device[0].irdaDeviceID[0], 4); 5号 – 致电: […]

我无法找到libftdi的mpsse(SPI)模式的示例代码

这不是一个家庭作业问题,尽管这是一个工作问题。 几个月前,我会写一个规范,老板会把它缩小,钱很紧。 所以我想自己这样做。 我是一个弱C编码器,如果gcc吐出一些没有segfaulting的东西,或者有时候什么都没有,我很幸运。 不过,我管理着。 Libftdi是构建的,我仔细阅读了它的示例可执行文件/代码和文档。 但我还是迷路了。 有没有人知道一个利用其MPSEE模式的软件项目,它与SPI设备挂钩? 有人在这里光滑地提供一个例子吗? 我真的可以使用这个帮助。 我不需要将它交给我放在银盘上,但我甚至无法入门。 如果我甚至可以弄清楚如何初始化它并向FTDI ic另一侧的芯片发送一个字节,我想我可能会陷入困境。 任何帮助赞赏。

使用c或任何编程语言控制usb端口上的电压供应

我对电子学没有多少知识。 我想打开/关闭使用程序连接到usb端口的led。 USB端口包括4线(数据+,数据,电压,接地),如果我将电压和地线连接到LED,它会发光。 我一直在互联网上搜索这个问题,我发现使用程序控制led连接到usb是不可能的,因为datapin上的电源太低而不能用于关闭led。 但是,如果我将我的led连接到vol和接地引脚并控制usb端口的整个电源,我想有可能控制led使用程序。 有一种方法可以通过USB端口禁用和启用电源。 我也想知道遵循这种方法是不是很糟糕。 是否会损坏usb控制器以频繁启用/禁用电源。 Algo : a = Get_input_from_user() ; if(a==”ON”) turn power supply of usb port ON. else turn power supply of usb port OFF. 这个东西当然可以使用额外的硬件,我不想使用任何额外的硬件。

使用自定义INF的微控制器的USB驱动程序安装问题

我正在使用恩智浦LPC1788微控制器,我正在尝试在主机上创建一个驱动程序,通过USB与它通信。 我相信我已经设法让设备正确处理标准USB请求(PC能够正确读取字符串描述符)。 但是,我在编写示例USB驱动程序并为设备安装时遇到了麻烦。 我正在使用Microsoft Visual Studio 2013.我的步骤是: 创建一个WinUSB应用程序,它生成一个“驱动程序”和“驱动程序包”项目。 修改生成的INF文件以使用我的设备的VID和PID。 构建项目 – 都成功构建。 输出文件夹包含INF文件,目录文件和WdfCoinstaller01011.dll。 通过USB插入微控制器,进入设备管理器 → 更新驱动程序软件… ,浏览到包含INF文件的文件夹并选择它。 这会导致出现以下屏幕: 我选择“无论如何安装此驱动程序软件”。 过了一会儿,就出现了这个屏幕: 我的INF文件如下: ; ; TestCubeDriver.inf ; ; Installs WinUsb ; [Version] Signature = “$Windows NT$” Class = USBDevice ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} Provider = %ManufacturerName% CatalogFile=TestCubeDriver.cat DriverVer=04/16/2014,15.55.4.44 ; ========== Manufacturer/Models sections =========== [Manufacturer] %ManufacturerName% = Standard,NTamd64 [Standard.NTamd64] […]

在Mac OSX下检测连接的USB设备

首先是一个声明:对于Mac的编程,我是一个新手。 但是我有一个需要与设备进行USB通信的任务,所以我想我会从基本的东西开始。 我从这里获取代码,构建它并从终端运行它。 它启动并写入: 寻找符合供应商ID = 1351和产品ID = 8193的设备。 开始运行循环。 然而,在此之后,如果我插入和拔出USB设备(我尝试过:iPod,GPS,鼠标)屏幕上没有任何内容,尽管据我所知,每当我连接和断开设备时都应该有。 我究竟做错了什么? 提前致谢。

哪里可以从可编程硬件开始?

我已经想要在相当一段时间内至少学习一些关于编程硬件的想法,并且我想在这里要求得到一些起点。 我是一个有着Delphi和Objective-c经验的合理成熟的程序员,但从来没有听过设备端口/中断(我甚至不知道术语),更不用说编写一个硬件了。 从我希望能够做的开始, 购买带有2,3或10个按钮的简单套件 通过USB将设备插入我的电脑 按下按钮后,收听设备并编写一些代码以执行某些操作。 我认为这是一个很好的起点,任何人都有指向硬件的指针或我如何开始这个?

无法在Mac OS X上声明使用C + libusb的USB接口

我有一个使用PIC32微控制器构建的复合USB + CDC设备,我正在尝试连接到设备并从Mac发送一些数据到CDC数据接口端点。 我知道电路工作100%,因为设备注册为HID操纵杆,我能够使用Zoc终端连接到设备,在/dev/tty.usbmodemfa132。 我可以用Zoc发送命令,看到我的MCU通过闪烁电路上的一些LED来响应这些命令。 我是在Mac OS X Mavericks上运行的,但几周前在Mountain Lion上我放弃了类似的例子。 我的代码如下所示: // Includes ———————————————————————————————————– #include #include #include #include #include // Defines ———————————————————————————————————— #define VID 0x04d8 #define PID 0x005e #define CDC_DATA_INTERFACE_ID 2 // Function Declarations ———————————————————————————————- void print_device(libusb_device *device); void send(libusb_context *usb_context, uint16_t vid, uint16_t pid); // Function Definitions ———————————————————————————————– /** * main */ int main(int […]