4# simple_head 我现在是要往u盘写入4k的数据,就是执行write10。我现在有一种方案已经实现就是先发完CBW之后,延时个10ms左右,再往u盘写入4k的数据。接下来会成功接收CSW。现在发觉这种方案的可靠性是不高的,因为每种u盘的性能不一样,所以延时时间是会不一样。所以现在换成另外一种。就是同样往u盘发送CBW,这时不延时,直接发送4k的数据,这时设备会返回主机nak。这时我会重新再发送一次out指令和未发送的数据。成功执行之后,设备返回ACK。接下来再初始化接收通道来接收CSW,但是现在的情况是主机发送in请求之后,设备什么都没有返回,即使nak也没有返回,感觉就像设备没收到指令一样。结果导致程序超时。
|