Поиск документации по AndroidAccessory для чтения () - PullRequest
2 голосов
/ 01 апреля 2012

Мне нужна помощь в поиске документации .read (). Я знаю, что это легко, но я не могу найти это. Я искал и искал, и эта страница на стороне Android самая близкая, которую я мог найти - http://developer.android.com/guide/topics/usb/accessory.html.

Вот сплайсинг кода Arduino, который я пытаюсь интерпретировать. Мне нужно знать, как изменить часть read () для моих нужд. Спасибо

AndroidAccessory acc("Manufacturer",
"Model",
"Description",
"1.0",
"hey.now.what",
"0000000012345678");

acc.read(msgIn, sizeof(msgIn), 1)

1 Ответ

1 голос
/ 23 апреля 2012

Я искал то же самое, что и вы. После того, как я погуглил и попробовал сам, мне удалось создать что-то вроде этого:

Декларация:

int AndroidAccessory::read(void *buff, int len, unsigned int nakLimit);

Считывает данные с устройства Android в массив, на который указывает buff . Он читает len количество байтов. Чтение останавливается, когда считывается len байт или nakLimit количество NAK, полученных от контроллера USB. В случае Full Speed ​​USB NAK будет генерироваться каждые 1 мс. (по ссылке второго источника).

Возвращаемым значением является количество байтов доступных , а не количество прочитанных байтов. Если вы прочитали меньше байтов, чем доступно, эти дополнительные байты, похоже, будут игнорироваться.

В своих экспериментах я обнаружил, что интервал NAK намного меньше. С моим Arduino Mega ADK я обнаружил, что одна секунда ожидания примерно равна nakLimit 14000.

Источники:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...