USB 协议中的数据切换是否特定于端点?

Is Data toggling in USB protocol specific to an Endpoint?

我正在写 USB 作为主机,裸机 我面临一些数据切换问题,我的问题是 - 数据切换是否特定于端点

我的意思是考虑 BULK 传输,您有一个 BULK IN 端点和一个 BULK OUT 端点。现在,如果我要读取一个块,我会将 read(10) 请求发送到 BULK OUT,然后接受在 BULK IN 上读取的数据。

现在,如果我向 BULK OUT 端点发送一个 write(10) 请求,那么数据切换的值是多少? 是在对 BULK OUT(DATA0->DATA1) 的第一个请求之后获得的,还是在接受从第一个 BULK IN(DATA0->DATA1->DATA0)

读取的数据之后获得的

PS:我正在使用 OpenHCI 主机控制器协议实施

是的,数据切换特定于端点。

您的 BULK IN 端点和 BULK OUT 端点不会共享数据切换。相反,有两个单独的数据切换,每个端点一个。