2011-12-31 7 views
6

Sto cercando di capire come l'API Android Open Accessory funziona con la scheda Arduino ADK, ho potuto inviare e ricevere informazioni ma voglio solo sapere come funziona tutto. Ho avuto modo di questa descrizione funzione:Cos'è il limite Nak?

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

Da qualche googling ho pensato che NAK è un codice che viene inviato se qualcosa è andato storto durante la stretta di mano, così si NAK limitare il numero di errori di comunicazione si è in grado di ricevere?

risposta

1

NAK non è un errore di comunicazione. Semplicemente afferma che il Dispositivo non è pronto per inviare una risposta o che non ci sono dati da inviare in questo momento. A quanto ho capito, il limite NAK in questa funzione si limiterà ad assicurare che ci sia un fine definito per la funzione. In caso di USB a velocità piena, verrà generato un NAK ogni 1 ms. Per ulteriori informazioni sul NAK prova questo: http://www.beyondlogic.org/usbnutshell/usb3.shtml#USBPacketTypes