Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91RM9200 USB host
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
mstr
Начал программировать USB host на контроллере AT91RM9200, сразу возникли проблемы - устройство не определяется при подключении. Посмотрел атмеловское демо, в котором соединяются USB Device с хостом, попробовал сделать также - в этом случае показывается, что устройсво имеется, хотя я еще ничего не подключал.

Инициализация:

AT91C_BASE_PMC->PMC_SCER |= AT91C_ID_UHP;
AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_UHP);

pUHP->UHP_HcControl = 0; /*reset*/
pUHP->UHP_HcHCCA = (unsigned int)&HCCA;
pUHP->UHP_HcControl = 0x0; /* init list processing */
pUHP->UHP_HcFmInterval = AT91C_FMINTERVAL;
pUHP->UHP_HcPeriodicStart = AT91C_PRDSTRT;

pUHP->UHP_HcBulkDoneHead = 0x0;
HCCA.HccaDoneHead = 0x0;

/* operational stage */
pUHP->UHP_HcControl = 0x80;

/* Enabling port power */
pUHP->UHP_HcRhPortStatus[0] = 0x00000100;
pUHP->UHP_HcRhPortStatus[1] = 0x00000100;
pUHP->UHP_HcRhStatus = 0x00004000; /* у Атмела здесь стоит 0х00010000 */


Проверка на то, что устройство подключено:

/* wait device connection */
while (1)
{
if (pUHP->UHP_HcRhPortStatus[0] & 0x01)
{
printf("device connected on port 0\n");
pUHP->UHP_HcRhPortStatus[0] = (1 << 4);
while (pUHP->UHP_HcRhPortStatus[0] & (1 << 4)) ;
pUHP->UHP_HcRhPortStatus[0] = (1 << 1);
break;
}
else if (pUHP->UHP_HcRhPortStatus[1] & 0x01)
{
printf("device connected on port 1\n");
pUHP->UHP_HcRhPortStatus[1] = (1 << 4);
while (pUHP->UHP_HcRhPortStatus[0] & (1 << 4)) ;
pUHP->UHP_HcRhPortStatus[1] = (1 << 1);
break;
}
}

Может, кто-нибудь знает, как разрешить эту проблему? А еще бы очень хотелось найти пример написания хоста, подскажите пожалуйста, если знаете, где таковой можно взять smile.gif

Заранее спасибо smile.gif
mstr
Добился того, чтобы при подключении контроллеровского USB Device Port хосту он опознавался. Но вот при попытке подключения какого либо другого usbшного девайса болт - не опознается, что что-то подключено. В чем может быть дело?
mstr
Товарищи, дамы и господа, ну помогите пожалуйста... Буду ОЧЕНЬ рад любым исходникам для работы с хостом на AT91RM9200 - никак не удается по-нормальному наладить с ним работу.
Lelick
Скачай исходники Linux-2.6. Там все есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.