2011-12-31 11 views
6

Estoy tratando de entender cómo funciona la API de Android Open Accessory API con la placa Arduino ADK, he podido enviar y recibir información, pero solo quiero saber cómo funciona todo. Llegué a esta descripción de la función:¿Qué es Nak Limit?

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

De algunas google me di cuenta de que NAK es un código que se envía si algo salió mal durante el apretón de manos, por lo que se NAK limitar el número de errores de comunicación uno es capaz de recibir?

Respuesta

1

NAK no es un error de comunicación. Simplemente indica que el Dispositivo no está listo para enviar una respuesta o que no hay datos para enviar en este momento. Según entiendo, el límite de NAK en esta función solo asegurará que haya un final definido para la función. En el caso de USB de velocidad máxima, se generará un NAK cada 1 ms. Para obtener más información acerca de NAK, pruebe esto: http://www.beyondlogic.org/usbnutshell/usb3.shtml#USBPacketTypes