91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11.48MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-29
  • 語言: C/C++
  • 標簽: libusb??bulk傳輸??

資源簡介

調用libusb庫, 在VC++上編寫的上位機程序, 實現用bulk傳輸方式, 向USB設備發送和接收數據.

資源截圖

代碼片段和文件信息


#include?
#include?“lusb0_usb.h“
#include?“mt_cmd.h“
//#pragma?comment(lib“libusb.lib“)

#define?WRITE_ERROR?-1
#define?READ_ERROR?-2
#define?CLOSE_ERROR?-3

int?g_MaxPacketSize?=?64;
int g_EP_OUT?=?0x0001; //端點地址
int?g_EP_IN?=?0x0081;
unsigned?long?g_Timeout?=?1000;

HANDLE???__stdcall?mt_open_hid(unsigned?long?ulVIDunsigned?long?ulPID)
{
struct?usb_device?*?m_dev?=?NULL;?
struct?usb_dev_handle?*m_dev_handle;
char?str[64];
memset(str0sizeof(str));

usb_init();?
usb_find_busses();?
usb_find_devices();?

struct?usb_bus?*bus;?
struct?usb_device?*dev;?
for(bus?=?usb_get_busses();?bus;?bus?=?bus->next)?
{?

for(dev?=?bus->devices;?dev;?dev?=?dev->next)?
{?
if(dev->descriptor.idVendor?==?ulVID?&&?dev->descriptor.idProduct?==?ulPID)?
m_dev=dev;?
}?
}?
if(!m_dev)?
{?
//printf(“m_dev?not?found\n“);?
return?NULL;?
????}?

m_dev_handle?=?usb_open(m_dev);?
if(!m_dev_handle)?
{?
//printf(“Could?not?open?m_dev\n“);?
return?NULL;?
????}??

if(usb_set_configuration(m_dev_handle?1)? {?
return?NULL;?
}?

if(usb_claim_interface(m_dev_handle?0)? {??
return?NULL;?
????}?

//獲取最大數據包大小
g_MaxPacketSize?=?m_dev->config->interface->altsetting->endpoint->wMaxPacketSize;
//獲取端點地址
int?ep?=?m_dev->config->interface->altsetting->endpoint->bEndpointAddress;

if?(ep?>?0x0f)
{
g_EP_IN?=?ep;
g_EP_OUT?=?ep?-?0x80;
}
else
{
g_EP_OUT?=?ep;
g_EP_IN?=?ep?+?0x80;
}

HANDLE?mtdev?=?NULL;
mtdev?=?m_dev_handle;
return?mtdev;
}



__int16??__stdcall?mt_close_hid(HANDLE?mtdev)
{
int?st?=?0;

if?((long)mtdev?>?0)
{
usb_release_interface((usb_dev_handle?*)mtdev?0); //注銷接口,釋放資源,和usb_claim_interface搭配使用。
st?=?usb_close((usb_dev_handle?*)mtdev);
if(st?=?0)
{
return?st;
}
else
{
return?st;
}
}
else
{
return?CLOSE_ERROR;
}

}


__int16??__stdcall?mt_send_cmd(HANDLE?mtdev?int?slen?unsigned?char*?sendcmd?int*?rlen?unsigned?char*?receivedata?int?timeout)
{
__int16?st?=?0;

if((long)mtdev? {
return?-1;
}

unsigned?char*?receive_buffer?=?(unsigned?char*)malloc(4096);
memset(receive_buffer?0?4096);


st?=?usb_bulk_write((usb_dev_handle?*)mtdev?g_EP_OUT?(char*)sendcmd?slen?timeout);
if(st?!=?slen)
{
free(receive_buffer);
receive_buffer?=?NULL;
return?WRITE_ERROR;
}

? st?=?usb_bulk_read((usb_dev_handle?*)mtdev?g_EP_IN?(char*)receive_buffer?*rlen?timeout);
if(st?<=?0)
{
free(receive_buffer);
receive_buffer?=?NULL;
? return?READ_ERROR;
}

*rlen?=?st;
memcpy(receivedata?receive_buffer?*rlen);
free(receive_buffer);
receive_buffer?=?NULL;
return?0;
}


void????__stdcall??mt_set_timeouts(unsigned?long?ulTotalTimeOuts)
{
g_Timeout?=?ulTotalTimeOuts;
return;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-24?23:35??mtusbdll_v1\
?????目錄???????????0??2017-03-28?22:56??mtusbdll_v1\Bulid\
?????文件?????2097245??2017-03-28?22:56??mtusbdll_v1\Bulid\Test.exe
?????文件?????2484324??2017-03-28?22:56??mtusbdll_v1\Bulid\Test.ilk
?????目錄???????????0??2017-03-28?22:56??mtusbdll_v1\mt_usblib\
?????目錄???????????0??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\
?????文件???????15235??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\mtusb.obj
?????文件???????????0??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\mtusb.sbr
?????文件?????1934336??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\mt_usblib.bsc
?????文件???????13092??2017-03-18?12:58??mtusbdll_v1\mt_usblib\Debug\mt_usblib.lib
?????文件?????4502192??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\mt_usblib.pch
?????文件??????132096??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\vc60.idb
?????文件???????77824??2017-03-28?22:56??mtusbdll_v1\mt_usblib\Debug\vc60.pdb
?????文件???????11974??2012-01-17?09:39??mtusbdll_v1\mt_usblib\libusb.lib
?????文件???????11879??2017-03-15?13:53??mtusbdll_v1\mt_usblib\lusb0_usb.h
?????文件????????2987??2017-03-28?22:39??mtusbdll_v1\mt_usblib\mtusb.cpp
?????文件?????????387??2017-03-28?22:39??mtusbdll_v1\mt_usblib\mt_cmd.h
?????文件????????3110??2017-03-20?19:28??mtusbdll_v1\mt_usblib\mt_usblib.dsp
?????文件?????????734??2017-03-20?19:28??mtusbdll_v1\mt_usblib\mt_usblib.dsw
?????文件????????1834??2017-03-20?17:44??mtusbdll_v1\mt_usblib\mt_usblib.lib
?????文件??????214016??2017-03-28?22:56??mtusbdll_v1\mt_usblib\mt_usblib.ncb
?????文件???????58880??2017-03-28?22:56??mtusbdll_v1\mt_usblib\mt_usblib.opt
?????文件?????????987??2017-03-28?22:56??mtusbdll_v1\mt_usblib\mt_usblib.plg
?????文件?????????415??2017-03-20?19:28??mtusbdll_v1\mt_usblib\mt_usblib.positions
?????目錄???????????0??2017-03-20?18:38??mtusbdll_v1\mt_usblib\Release\
?????文件????????1812??2017-03-20?18:38??mtusbdll_v1\mt_usblib\Release\mtusb.obj
?????文件?????3596744??2017-03-20?18:38??mtusbdll_v1\mt_usblib\Release\mt_usblib.pch
?????文件???????41984??2017-03-20?18:38??mtusbdll_v1\mt_usblib\Release\vc60.idb
?????文件?????????285??2017-03-24?23:50??mtusbdll_v1\ReadMe.txt
?????目錄???????????0??2017-03-28?22:56??mtusbdll_v1\Test\
?????目錄???????????0??2017-03-28?22:56??mtusbdll_v1\Test\Debug\
............此處省略44個文件信息

評論

共有 條評論