Ксения (21.06.2015 22:39, просмотров: 256) ответил Эдуард1978 на Всем привет AT90usb647 в качестве Хоста проблема с инициализацией канала . Кто нибудь использовал эту микруху в качестве OTG?
Так это опять вы? :) Про AT90usb647. Работала с ним, но выбор на его пал не за хост, а за TQPF-корпус - вопреки утверждению даташитов, только у 647-го корпус TQPF, тогда как 646-ой встречается только в QNF-корпусе. Мне HOST-возможности были не нужны, но QNF-корпус мне не припаять :), оттого и мой выбор пал на 647-ой.
Основополагающий материал сосредоточен в архиве: at90usb128-demo-cdc-1_0_3.zip , он хоть и называется "at90usb128...", но номинально - "AT90USBxxx CDC demonstration", т.е. годится для всей серии AT90USBxxx. Править необходимо только два файла. Первый:
\Atmel\at90usb128-demo-cdc\at90usb128\lib_mcu\pll\pll_drv.h
- здесь настраиваем частоту PLL, в зависимости от частоты кварца и модели МК.
Второй этот:
\Atmel\at90usb128-demo-cdc\at90usb128\demo\cdc\conf\conf_usb.h
Тут заказываем HOST или DEVICE. По умолчанию там значится DEVICE:
#define USB_HOST_FEATURE DISABLED
#define USB_DEVICE_FEATURE ENABLED
А чтобы переключиться в HOST надо DISABLED и ENABLED поменять местами.
В том случае, если интерес чисто познавательный, то ищите в исходниках все места, где оба эти дефайна проверяются - тогда и найдете, в чем состоит разница между программированием того и другого режима.