До программирования софта надо сделать подготовительные доработки железа на разъеме USB.
Аппаратная часть
Доработка железа для USB-Device устройства (ведомого). Я тупо убил 3 дня , чтобы понять почему не идет никакой обмен по USB (хотя прерывание Attached происходило)!
Оказывается надо выход D+ ведомого устройства ОБЯЗАТЕЛЬНО подтянуть к питанию к через резистор примерно 1.5К.
Иначе Хост не будет знать на какой скорости надо начинать обмен. Vcc на D+ на ведомом означает для хоста FULL SPEED !
Доработка железа для USB-Host устройства (Хост - ведущее устройство) заключается в подтягивании к земле через резисторы 15К D+ и D-.