求usb接口读写的资料

Xcoder 2004-12-17 10:47:05
文档、代码均可。各位大大给个连接就好。
...全文
399 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Chen 2004-12-31
  • 打赏
  • 举报
回复
你可以看看cypress公司EZUSB芯片AN2131QC全部的文档,有一个叫做EzMr的主机程序,是一个VC++程序,上面有访问这个芯片的全部程序,你可以下载看看:

http://www.driverdevelop.com/forum/upload/sunkai/2002-05-03_EzMr&Hex2C.rar
Mr-Chen 2004-12-31
  • 打赏
  • 举报
回复
ddk下有不少例子
思路大体如下:
<1>. 打开设备,获取设备句柄CreateFile("\\\\.\\ezusb-0",.......);
<2>. 设置Interface;获取 PipesInfo;
<3>. 用 Bulk 或其它方式传输数据;
<4>. 关闭设备。
pepsi1980 2004-12-30
  • 打赏
  • 举报
回复
去www.codeproject上看看。
roger_ding 2004-12-22
  • 打赏
  • 举报
回复
98下要通过scsi command
LVOLCANO 2004-12-21
  • 打赏
  • 举报
回复
mark
老夏Max 2004-12-21
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/finddoc.asp?keyword=USB
msm 2004-12-21
  • 打赏
  • 举报
回复
我去找找资料
zhongyh 2004-12-19
  • 打赏
  • 举报
回复
在98下不行,返回句柄失败,怎么办?
zhjie374 2004-12-19
  • 打赏
  • 举报
回复
mark
bobob 2004-12-19
  • 打赏
  • 举报
回复
mark
kingzai 2004-12-17
  • 打赏
  • 举报
回复
http://search.csdn.net/Expert/topic/2427/2427105.xml?temp=.8320276
kingzai 2004-12-17
  • 打赏
  • 举报
回复
HANDLE OpenDevice(LPGUID pGuid, char *outNameBuf)
{
HANDLE hOut = INVALID_HANDLE_VALUE;
HDEVINFO hardwareDeviceInfo;
SP_INTERFACE_DEVICE_DATA deviceInfoData;

hardwareDeviceInfo = SetupDiGetClassDevs (pGuid, NULL, NULL, (DIGCF_PRESENT | DIGCF_INTERFACEDEVICE));

deviceInfoData.cbSize = sizeof (SP_INTERFACE_DEVICE_DATA);

if (SetupDiEnumDeviceInterfaces (hardwareDeviceInfo, 0, pGuid, 0, &deviceInfoData))
{
hOut = OpenOneDevice (hardwareDeviceInfo, &deviceInfoData, outNameBuf);

if (hOut==INVALID_HANDLE_VALUE)
return INVALID_HANDLE_VALUE;
}

DWORD reErr = GetLastError( );

SetupDiDestroyDeviceInfoList (hardwareDeviceInfo);

return hOut;
}

HANDLE OpenOneDevice(HDEVINFO HardwareDeviceInfo, PSP_INTERFACE_DEVICE_DATA DeviceInfoData, char *devName)
{
PSP_INTERFACE_DEVICE_DETAIL_DATA functionClassDeviceData = NULL;
ULONG predictedLength = 0;
ULONG requiredLength = 0;
HANDLE hOut = INVALID_HANDLE_VALUE;

// allocate a function class device data structure to receive the goods about this particular device.
SetupDiGetInterfaceDeviceDetail (HardwareDeviceInfo, DeviceInfoData, NULL, 0, &requiredLength, NULL);

predictedLength = requiredLength;
// sizeof (SP_FNCLASS_DEVICE_DATA) + 512;

functionClassDeviceData = (PSP_INTERFACE_DEVICE_DETAIL_DATA)malloc (predictedLength);
functionClassDeviceData->cbSize = sizeof (SP_INTERFACE_DEVICE_DETAIL_DATA);

// Retrieve the information from Plug and Play.
if (!SetupDiGetInterfaceDeviceDetail(
HardwareDeviceInfo,
DeviceInfoData,
functionClassDeviceData,
predictedLength,
&requiredLength,
NULL))
{
free(functionClassDeviceData);
return INVALID_HANDLE_VALUE;
}

strcpy(devName,functionClassDeviceData->DevicePath);
printf("Attempting to open %s\n", devName);

hOut = CreateFile (functionClassDeviceData->DevicePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);

if (INVALID_HANDLE_VALUE == hOut)
printf("FAILED to open %s\n", devName);

free(functionClassDeviceData);

return hOut;
}


HANDLE hDEV = OpenDevice((LPGUID)&GUID_BUS_UMSS, completeDeviceName);
if (hDEV==INVALID_HANDLE_VALUE)
return;

DeviceIoControl (
hDEV,
IOCTL_Vender_VCMD_WRITE,
buf,
31, //CBW
buf,
13, // Data + CSW
(LPDWORD)&nBytes,
NULL
);

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧