Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2468 - хост, не идет на USB1
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
alevnew
Решил сделать хост на LPC2468 для чтения USB флэшек.
За образец взял пример USBHostLite от NXP.

В конфигурации как в примере - все работает.
Но мне нужно перекиннуть хост на USB1.
делаю OTG_STAT_CTRL=0x03;
Ну и, конечно, выставляю нужную конфигурацию пинов.
Втыкаю флэшку (или можно резистор между 5В и D+, не важно), срабатывает прерывание, читаю там HcRhPortStatus. По нулям. И дальше не работает ничего.
Если же на USB2 (OTG_STAT_CTRL=0x00), то при том же самом HcRhPortStatus=0x00010101. И все работает.
Уж чего не пробовал - никак не хочет работать на USB1.
Кто-нибудь сталкивался с подобной проблемой?
alevnew
Разобрался однако.
Кому интересно, чтоб не искать грабли:
Все правильно сделал, в принципе.
Но...
Кто же знал, что регистр HcRhPortStatus может иметь два адреса. Один адрес, если используется USB1, другой - если USB2.
Все что написано в даташите, и более ничего:

HcRhPortStatus[1] 0xFFE0 C054 R/W Controls and reports the port events on a per-port basis. 0x0
HcRhPortStatus[2] 0xFFE0 C058 R/W Controls and reports the port events on a per port basis. 0x0

Хотя мог бы и догадаться сам smile.gif.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.