设置地址
设置地址需要注意的是该命令只能从地址0、端口0发送,等到执行成功以后,需要设置协议栈对象的usbAddr为新的地址,以后所有命令的收发都只能通过新地址进行:
/**
* 给USB设备设置地址
*/
short usbSetAddress(unsigned char *pDataBuf, unsigned short addr)
{
SETUPPKG *setup;
setup = &usbDevSetup;
setup->bmRequest = 0x0;
setup->bRequest = SET_ADDRESS;
setup->wValue = addr;
setup->wIndex = 0;
setup->wLength = 0;
ctrlCmdSet((unsigned int)setup, pDataBuf);
usbInfoSetAddr(addr);
return 0;
}
|