Цитата
Я с этим чипом не знаком близко, но если максимальный размер памяти под endopoint 512 байт, то никак. Это странное ограничение в современном мире, но встречается.
Прием синхронизируется по стартовым синхро-битам.
При увеличении размера посылки растет вероятность рассинхронизации.
По этому размер ограничен. В стандарте FULL устройств была максимально допустимая посылка 64 байта, для HIGH увеличили до 512.
Для передачи больших данніх используют дробление на короткие посылки и двойную буферизауцию
Цитата
Так что тут максимальная производительность будет с bulk и скорость - какая уж получится.
На FULL прокачивается 1 мегабайт.
Только нужно качать "большим куском".
Если если работать в режиме запрос/ответ то скорость значительно упадет.
При прокачке программа зависает.
Если нужно чтобы прграммма реагировала на управление, нужно или отдельную нить запускать или использовать OVERLAPPED метод обмена.
Цитата
Это от хоста зависит. Самый простой способ ему намекнуть - просто запросить сразу много байт переслать. Я обычно запрашиваю 64кБ.
Я бы сказал от операционной системы.
Хост все равно посылает/принимае пакеты не более 512 байт.
Windows XP позволяет закачивать частями по 128кБайт
Вот проект для SAM7 которым я изучал
http://njnmnp.narod.ru/proj/usb_bulk_sam7/usb_bulk_sam7.htmlСейчас я пользуюсь libusb.
Работает устойчиво, скорость я не измерял.