1.首先要建立一个USB设备对象
CCyUSBDevice *USBDevice = new CCyUSBDev(Handle);
2.然后就该是打开USB设备了
如果只有一个USB设备
USBDevice->open(0) //打开0号USB设备
如果要判断,可以:
if(! USBDevice->open(0)) //打开失败
{messagebox("USB未连接");}
如果连接有多个USB设备,那么可以枚举所有的USB,用到DeviceCount()函数;执行USBDevice->DeviceCount()后,返回所连接的USB设备个数:
if (USBDevice->DeviceCount()) //保证至少有一个USB设备连接
{
for (i = 0; i < USBDevice->DeviceCount(); i++) //枚举所有USB设备
{
USBDevice->Open(i); //打开第i号USB设备
m_DeviceListComBox.AddString(USBDevice->DeviceName); //所选择的当前设备名
}
}
3.端点设置
【1】首先获取所用的端点数目
int epts = USBDevice->EndPointCount();
EndPointCount();函数返回当前所用的端点数+1,也就是包含了控制端点。例如在固件接口描述符Interface Descriptor中设置Number of end points项(第5项)的值为4,则epts的值为4+1=5
[2] 定义端点指针
CCyUSBEndPoint *endpt;
CCyUSBEndPoint 建立一个端点对象,可建立所有的端点类型,控制端点,bulk端点,ISO端点等;
【3】开始枚举端点,并获得其属性:端点号,传输方向
for (i=1; i<epts; i++)
{
endpt = USBDevice->EndPoints[i]; //EndPoints-端点列表,最大16.EndPoints[0]指向控制端点( CCyControlEndPoint)
//未使用的端点设置为NULL
if (endpt->Attribut