请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294KCPDT 当 USBLIB 项目(usbdenum.c)中配置了8个端点时、为什么 USB0端点中断处理程序只被写入来处理端点0状态?
似乎无法保证 INT 控制状态始终 在 端点0上发生。 已验证多个批量 或 HID 客户端端点 可以 通过 CDC 类驱动程序的多个启动实例进行连接。 Windows 即插即用管理器通过 多个实例使用相同的供应商 UUID 处理 USB 客户端请求。 端点枚举过程只是将 CDC 地址提升到 下一个可用地址(lmusbdll.dll / lib)。
现有 的 Tivaware usblib INT 函数似乎没有被写入来处理每个枚举的(8)端点返回状态。 添加的处理程序(如下) 对于 端点 0以上连接的任何其他端点的返回状态是否不是必需的?
void USBDeviceEnumerHandler (tDCDInstance * pDevInstance) { uint32_t ui32EPStatus、ui32DataSize; // //获取端点0状态。 // ui32EPStatus = MAP_USBEndpointStatus (USB0_BASE、USB_EP_0);
//其它枚举端点返回 USB 状态可能需要以下条件???? //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_1); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_2); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_3); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_4); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_5); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_6); //ui32EPStatus |= MAP_USBEndpointStatus (USB0_BASE、USB_EP_7);