Freescale USB Stack v4.0.3 或更低的版本中,原子操作函数
_usb_khci_atom_tr(), 遇到NAK会延时若干毫秒,
case 0x0a: /* NAK */
res = KHCI_ATOM_TR_NAK;
if (retry)
time_delay(10 * delay_const * (pipe_desc_ptr->NAK_COUNT - retry));
break;
我在芯片手册上没找到这个延时的依据,为什么要延时? 尝试去掉或者答复缩短延时,会致使工作不正常。目前这个延时严重影响了我们的性能,请问如何解决?
ps: 在Freescale_BM_USB_Stack_v5.0, 看到改成了一个非阻塞的原子操作函数,但不意味着不延时,我没有去验证。 |