13 个解决方案
#1
libusb-1.0中有接口,libusb-win32中没有
#2
我做过,直接调库函数就是了 很简单
#3
应该是要用到下面3个函数,usb_control_msg倒是可以正常使用,usb_bulk_write和usb_bulk_read搞过好多次,一直都没有成功过
ccFelix给点经验吧,你好像经常搞USB通信啊,上次我的帖子也是你回的
int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, int value, int index, char *bytes, int size,
int timeout);
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,int timeout);
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout)
#4
USB设备读写和串口设备差不多,只不过先要枚举设备,查找到相应的PID,VID,然后用CreateFile函数创建设备,用文件读写API函数和设备交互
#5
chinayu2007能提供个例子做参考吗?
#6
我也在做相关的项目,各位大神给点提示吧。
#7
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,int timeout);
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
这是读写,首先要枚举设备,然后开线程读写数据就OK了
#8
http://www.doc88.com/p-994529924867.html 看下这个文档把
#9
大侠们,我今天也开始学libusb,郁闷的是我在用这个官方给的例子也编译的时候出错,不知道各位有demo给个么,非常感谢。
#10
哥们,你的问题解决了吗?我现在也有同样的疑问,能指导下吗?
#11
哥们,你的问题解决了吗?我现在也有同样的疑问,能指导下吗?
搞了几次,USB都接收不到数据,没搞了,哪天心血来潮时再弄下
#12
楼主 搞的怎么样了 我也在使用libusb-1.0.9 在win7 上, 但是发现使用libusb_open 调用的时候 返回-12
/** Operation not supported or unimplemented on this platform */
LIBUSB_ERROR_NOT_SUPPORTED = -12,
楼主用的是libusb-1 吗 libusb-1.0 在win 平台可以正常使用吗???
/** Operation not supported or unimplemented on this platform */
LIBUSB_ERROR_NOT_SUPPORTED = -12,
楼主用的是libusb-1 吗 libusb-1.0 在win 平台可以正常使用吗???
#13
struct usb_bus *bus;
struct usb_device *dev;
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
usb_find_devices(); /* find all connected devices */
for (bus =usb_busses; bus; bus = bus->next)
{
ListBox1->Items->Append( bus->dirname);
for (dev = bus->devices; dev; dev = dev->next)
{
ListBox1->Items->Append("Serial : " + IntToHex(dev->descriptor.idVendor,4));
}
}
结果只枚举到一个设备?什么原因
struct usb_device *dev;
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
usb_find_devices(); /* find all connected devices */
for (bus =usb_busses; bus; bus = bus->next)
{
ListBox1->Items->Append( bus->dirname);
for (dev = bus->devices; dev; dev = dev->next)
{
ListBox1->Items->Append("Serial : " + IntToHex(dev->descriptor.idVendor,4));
}
}
结果只枚举到一个设备?什么原因
#1
在网上找了很多例子,都是usb控制传输的,控制传输都是用于枚举的。我现在要与USB设备进行数据交互,应该要确定USB设备地址和端口号吧,但是这些东西在libusb的lib没有找到,谁有libusb做过主机与usb设备进行数据交互的例子,给个呗,分全散。
libusb-1.0中有接口,libusb-win32中没有
#2
我做过,直接调库函数就是了 很简单
#3
我做过,直接调库函数就是了 很简单
应该是要用到下面3个函数,usb_control_msg倒是可以正常使用,usb_bulk_write和usb_bulk_read搞过好多次,一直都没有成功过
ccFelix给点经验吧,你好像经常搞USB通信啊,上次我的帖子也是你回的
int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, int value, int index, char *bytes, int size,
int timeout);
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,int timeout);
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout)
#4
USB设备读写和串口设备差不多,只不过先要枚举设备,查找到相应的PID,VID,然后用CreateFile函数创建设备,用文件读写API函数和设备交互
#5
USB设备读写和串口设备差不多,只不过先要枚举设备,查找到相应的PID,VID,然后用CreateFile函数创建设备,用文件读写API函数和设备交互
chinayu2007能提供个例子做参考吗?
#6
我也在做相关的项目,各位大神给点提示吧。
#7
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,int timeout);
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
这是读写,首先要枚举设备,然后开线程读写数据就OK了
#8
http://www.doc88.com/p-994529924867.html 看下这个文档把
#9
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,int timeout);
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);
这是读写,首先要枚举设备,然后开线程读写数据就OK了
#10
哥们,你的问题解决了吗?我现在也有同样的疑问,能指导下吗?
#11
哥们,你的问题解决了吗?我现在也有同样的疑问,能指导下吗?
搞了几次,USB都接收不到数据,没搞了,哪天心血来潮时再弄下
#12
楼主 搞的怎么样了 我也在使用libusb-1.0.9 在win7 上, 但是发现使用libusb_open 调用的时候 返回-12
/** Operation not supported or unimplemented on this platform */
LIBUSB_ERROR_NOT_SUPPORTED = -12,
楼主用的是libusb-1 吗 libusb-1.0 在win 平台可以正常使用吗???
/** Operation not supported or unimplemented on this platform */
LIBUSB_ERROR_NOT_SUPPORTED = -12,
楼主用的是libusb-1 吗 libusb-1.0 在win 平台可以正常使用吗???
#13
struct usb_bus *bus;
struct usb_device *dev;
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
usb_find_devices(); /* find all connected devices */
for (bus =usb_busses; bus; bus = bus->next)
{
ListBox1->Items->Append( bus->dirname);
for (dev = bus->devices; dev; dev = dev->next)
{
ListBox1->Items->Append("Serial : " + IntToHex(dev->descriptor.idVendor,4));
}
}
结果只枚举到一个设备?什么原因
struct usb_device *dev;
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
usb_find_devices(); /* find all connected devices */
for (bus =usb_busses; bus; bus = bus->next)
{
ListBox1->Items->Append( bus->dirname);
for (dev = bus->devices; dev; dev = dev->next)
{
ListBox1->Items->Append("Serial : " + IntToHex(dev->descriptor.idVendor,4));
}
}
结果只枚举到一个设备?什么原因