Новые аббревиатуры для понимания
OHCI - Open Host Controller Interface
OTG - On-The-Go
Как обычно сначала примеры на Keil ищем
На сайте Keil видим USB Host (MDK-Professional only) . Похоже надо платить деньги... Или реализовывать Host режим самому ручками на самом низком уровне.
Официальные примеры для LPC1768 качаем например здесь http://www.keil.com/dd2/nxp/lpc1768/ . Это под их отладочную плату MCB1700.
Как обычно при компиляции получаем Error #602: 'Keil.MDK-Pro::USB:CORE:Release:6.13.0': component requires valid MDK-ARM Professional license .
Примерчик тянет лицензию по пункту USB :
Кстати RTOS здесь тоже используется. Это Операционная система Keil RTX.
Какая польза нам от примера Keil - посмотреть как программно настраивается USB Host. Но и тут даже по функции USBH_Initialize( не удается перейти на исходный код. Может все скомпилировано и запрятано в библиотеках lib ? В общем облом.
Идем на gitHub - ищем примеры там
Находим один пример , который сразу нормально компилируется в Keil5: LPC17xxSampleSoftware.102 , но там как-то Usb Host Lite называется....
Наконец пытаемся аналогичное организовать под SEGGER Embedded Studio
Поскольку в SEGGER ES нет готовых примеров для LPC1768 и поскольку в нашей плате от старого принтера FPrint-55ПТК не реализована аппаратно поддержка USB Host (не подтянуты D+ и D- к земле и т.д.) похоже надо подумать на чем лучше эксперементировать.
И тут вспоминаем , что у нас есть отладочная плата с Алиэкспресс на STM32F407 (800р.) и там мы уже реализовывали USB Host на Keil5 + STM32CubeMX. Также помним , что SEGGER ES поддерживает STM32.
Поэтому продолжаем в другой ветке сайта (см. по STM32).