
意译:
| 代码 (二进制) | 含义 (助记符) | 描述/触发条件 |
|---|---|---|
| 0000 | NOERROR | 处理成功,无错误。 |
| 0001 | CRC | 从端点收到的数据包存在CRC校验错误。 |
| 0010 | BITSTUFFING | 从端点收到的数据包存在位填充违规。 |
| 0011 | DATATOGGLEMISMATCH | 从端点收到的数据包,其数据交替位(Data Toggle PID)与预期值不匹配。 |
| 0100 | STALL | 端点返回了STALL握手包,传输被停止。 |
| 0101 | DEVICENOTRESPONDING | 设备无响应(对IN令牌)或未提供握手包(对OUT事务)。 |
| 0110 | PIDCHECKFAILURE | 从端点收到的数据包的PID校验位错误。 |
| 0111 | UNEXPECTEDPID | 收到了无效或未定义的PID。 |
| 1000 | DATAOVERRUN | 端点返回的数据量超过允许的最大包长或剩余缓冲区大小。 |
| 1001 | DATAUNDERRUN | 端点返回的数据少于最大包长,且不足以填满指定缓冲区(对于等时或中断传输,这不是错误,表示数据结束)。 |
| 1100 | BUFFEROVERRUN | (主机端错误)在IN传输中,HC从USB总线接收数据的速度快于其写入系统内存的速度。 |
| 1101 | BUFFERUNDERRUN | (主机端错误)在OUT传输中,HC从系统内存读取数据的速度跟不上USB总线的数据速率。 |
| 111x | NOT ACCESSED | 此代码由软件在TD提交给HC处理之前设置,表示该TD尚未被HC访问和处理。 |
这个表格是用于解读TD(传输描述符)处理结果的状态码字典。当主机控制器(HC)处理完一个TD后,会在该TD的ConditionCode字段填入一个4位代码,以指示该次传输的最终结果。软件通过读取此代码来判断传输是否成功或具体发生了什么错误。
