我试图了解Android Open Accessory API如何与Arduino ADK开发板一起工作,我已经能够发送和接收信息,但是我只是想知道一切如何工作。我对这个功能的描述:

int AndroidAccessory::read(void *buff, int len, unsigned int nakLimit) {
  return usb.newInTransfer(1, in, len, (char *)buff, nakLimit);
}

通过一些谷歌搜索,我发现NAK是在握手过程中出现问题时发送的某些代码,那么NAK是否限制了一个人能够接收的通信错误的数量?

最佳答案

NAK没有通信错误。它只是说明设备尚未准备好发送回复,或者此时没有要发送的数据。据我了解,该功能的NAK限制只会确保该功能有一个已定义的终点。如果是全速USB,则每1ms将产生一个NAK。有关NAK的更多信息,请尝试以下操作:http://www.beyondlogic.org/usbnutshell/usb3.shtml#USBPacketTypes

10-08 16:41