Илюxa (23.04.2014 19:44, просмотров: 1328)
Подскажите пожалуйста по USB Bulk transfer. Сейчас ковыряю USBD стэк от ST. Конкретно CDC режим. Работаю на STM32F407 Full Speed.
С низким уровнем USB я знаком не очень, поэтому хотел спросить следующее. С Хоста я отправляю Bulk посылку заранее неизвестного размера. В стеке реализована выходная функция которая пакетиками по 64 байта (или меньше) набивает мой буфер. Так как заранее я не знаю сколько данных придет то я ожидаю некий таймаут в течение которого посылка гарантированно завершится. При этом естественно теряется скорость обмена. Никто не подскажет, не передает ли хост девайсу размер массива который предстоит отправить где нибудь в служебных полях? Порывшись в даташитах ничего не нашел.
Как вариант, можно например доработать протокол, где первыми байтами передавать размер данных, но это мне не очень удобно.