另一种失败的方式是端点的Halt(暂停)特性被设置时的响应,这表示端点根本不能发送和接数据。USB规范称这类失败为”功能失败“(function stall)。 批量和中断端点必须支持功能失败。USB 2.0控制端点也可能会支持功能失败,但很少这么做。功能失败的控制端点必须正常响应其他请求,以监视和控制失败状态。端点”能够响应请求...
每一个单独的功能(function)都会有一个ADDR值,这意味着可能会有多个端点(Endpoint)共享一个ADDR 复位和上电时,ADDR默认为零,必须在枚举过程中由主机进行分配 ADDR 0被保留作为默认地址,不能分配给其他用途 「端点字段(Endpoint Field)」 附加的4位端点字段(ENDP)允许在多端点(Endpoint)的功能(Function)中更灵活地...
在USB中,Function Tx Endpoint Halt Feature(功能传输端点停滞功能)是一种用于暂停数据传输的机制。如果设备发送端点触发了停滞功能,当设备收到IN事务的令牌后,会返回STALL。通知主机:设备端点暂停接收数据,主机将不再尝试在该端点上进行数据传输,直到Halt Feature被清除。主机可以通过特定的命令或操作来清除Halt Feature,...
为了清除设备错误,USB 驱动程序堆栈使用 ENDPOINT_HALT 功能选择器向设备发送 CLEAR_FEATURE 控制请求。 请求的接收方是与管道关联的终结点。 如果错误情况发生在等时管道上,则驱动程序堆栈不会采取任何操作来清除设备,因为在发生错误的情况下,等时终结点会自动清除。
For the USB device, the DATA toggling gets reset upon receiving the CLEAR_FEATURE (ENDPOINT_HALT), so it wants to send DATA0 on the next IN endpoint 2 transfer. But the USB Host, which just sent a control packet containing the Clear Feature request, leaves its pipe DATA toggling status ...
.bLength = USB_DT_ENDPOINT_SIZE,// 端点描述符长度.bDescriptorType = USB_DT_ENDPOINT,// 描述符类型为端点描述符.bmAttributes = USB_ENDPOINT_XFER_CONTROL,// 端点0使用控制传输}; 2.2.4.命令和参数 从上面的分析中可以看出,软件通过向USB设备控制器端点USB3_DEPnCMD寄存器写入命令来驱动USB端点工作,命令...
if(crq->wValue != USB_ENDPOINT_HALT || crq->wLength != 0) break; s3c2410_udc_set_halt(&dev->ep[crq->wIndex & 0x7f].ep, 1); s3c2410_udc_set_ep0_de_out(base_addr); return; default: s3c2410_udc_clear_ep0_opr(base_addr); ...
一个标准的批量端点有单组端点缓冲区(Endpoint Buffers)与之相关联。流扩展了一个端点可以访问的主机缓冲区个数,从1直到65533。在主机缓冲区和Stream ID之间有一个1:1的映射。 由于流是基于一个标准的批量管道运行,一个错误就会让管道暂停(halt),停止所有的活动。
一个标准的批量端点有单组端点缓冲区(Endpoint Buffers)与之相关联。流扩展了一个端点可以访问的主机缓冲区个数,从1直到65533。在主机缓冲区和Stream ID之间有一个1:1的映射。 由于流是基于一个标准的批量管道运行,一个错误就会让管道暂停(halt),停止所有的活动。
首先,对于除常量管道以外的所有管道,此 URB 发送CLEAR_FEATURE请求以清除设备的ENDPOINT_HALT功能。 其次,USB 总线驱动程序根据 USB 规范的要求重置主机端的数据切换。 当总线驱动程序清除其ENDPOINT_HALT功能时,USB 设备应重置设备端的数据切换。 由于某些不合规的设备不支持此功能,Microsoft 提供了两个附加的 URL:UR...