Перейти к содержанию
bbh_blocked_dnftl

Dx Portal Использование USB-OTG в режиме MSC-HOST


Рекомендуемые сообщения

Добрый день! Взял за основу проект, указанный в данном уроке.

 

 

 

Немного адаптировал его под МК STM32F105 и исправил некоторые ошибки. Выложил основную часть проекта скорректированного проекта здесь. Но сейчас выполнение программы останавливается в бесконечном цикле в файле stm32_ub_usb_msc_host.c:

 

 

 

USB_MSC_HOST_STATUS_t UB_USB_MSC_HOST_Do(void)

{

if(USB_MSC_HOST_STATUS!=USB_MSC_DEV_NOT_SUPPORTED) {

// когда флешка USB не поддерживается,

// функция не будет вызываться

USBH_Process(&USB_OTG_Core, &USB_Host);

}

return(USB_MSC_HOST_STATUS);

}

 

 

В функции USBH_Process() программа ожидает прерывание по вектору OTG_FS_IRQHandler. Чтобы затем перевести состояние переменной USB_MSC_HOST_STATUS в USB_MSC_DEV_CONNECTED. Но прерывания не происходит. Также хотелось бы уточнить, что прерывание ожидается в case HOST_IDLE:

 

 

 

void USBH_Process(USB_OTG_CORE_HANDLE *pdev , USBH_HOST *phost)

{

volatile USBH_Status status = USBH_FAIL;

switch (phost->gState)

{

case HOST_ISSUE_CORE_RESET :

if ( HCD_ResetPort(pdev) == 0)

{

phost->gState = HOST_IDLE;

}

break;

case HOST_IDLE :

if (HCD_IsDeviceConnected(pdev))

{

/* Wait for USB Connect Interrupt void USBH_ISR_Connected(void) */

USBH_DeAllocate_AllChannel(pdev);

phost->gState = HOST_DEV_ATTACHED;

}

break;

...

 

 

В случае если прерывание OTG_FS_IRQHandler произойдет, то host.ConnSts присвоится 1. И тогда программа войдет в case HOST_DEV_ATTACHED. Но пока этого нет. В чем может быть причина? Питание на USB подается.

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...