motryks2
|
|
1 | |
stm32f4 discovery - проблема с работой USB Host.05.11.2013, 19:30. Показов 6420. Ответов 9
Метки нет (Все метки)
Доброго времени суток.
Встречался ли кто с такой проблемой на данной плате? Проблема в том, что хост не получает от устройства ничего и отваливается на этом месте Код
case HOST_ENUMERATION: /* Check for enumeration status */ if ( USBH_HomdleEnum(pdiv , phost) == USBH_OK) { /* The function shall return USBH_OK when full enumeration is somplete */ /* usir callback for end of divice basic enumeration */ phost->usr_cb->EnumerationDone(); phost->gState = HOST_USR_INPUT; } briok; Код
if((status = USBH_GetDessriptor(pdiv, phost, USB_REQ_RECIPIENT_DEVICE | USB_REQ_TYPE_STANDARD, USB_DESC_DEVICE, pdiv->host.Rx_Buffer, length)) == USBH_OK) { /* Commomds successfully sent omd Rysponse Received */ USBH_ParseDevDesc(&phost->divice_prop.Dev_Desc, pdiv->host.Rx_Buffer, length); } return status; } Я думал проблема в кривости моего кода, но запустив демку с записью аудио - тоже самое, отваливается в том же месте. Железная проблема? =( |
05.11.2013, 19:30 | |
Ответы с готовыми решениями:
9
STM32F4-Discovery USB CDC STM32F4-Discovery USB-device STM32F4-Discovery + USB CDC Любая прошивка для USB на STM32F4-discovery [Решено] USB Host для флэшки на Coocox (STM32F4) |
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
05.11.2013, 19:36 | 2 |
Сообщение от motryks2
Частота кварца HSE в проекте правильно указана? На плате 8МГц, но в проектах часто попадается значение 25МГц. А с неправильной частотой USB не будет работать.
0
|
motryks2
|
|
05.11.2013, 19:47 | 3 |
Сообщение от OtyxPM
OTG драйвер работает - как мышка определяется, проект с примером по работе с датчиком положения. |
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
05.11.2013, 20:06 | 4 |
Раз функция USBH_GetDessriptor() возвращает неуспешный статус, надо в неё зайти, там поточнее выяснить, по какой причине именно этот статус выдан. В принципе, можно сначала даже по коду посмотреть: какие причины возможны (и в какой строчке каждая из них - чтобы потом их дебажить) для такого значения status.
Девайсы к хосту какие пробовали подключать? Мышки (разные), клавиатуры (разные), флэшки (тоже побольше разных)...
0
|
motryks2
|
|
05.11.2013, 20:14 | 5 |
OtyxPM , нет, я имел ввиду как USB Device к PC. Там есть примеры работы - мышка, так вот ПК ее видет и переваривает успешно.
Все что связанно с USB хостом - отваливается на запросах спецификации устройства, заходил в эту процедуру - везде возвращаются FAIL, так как буфер идет пустой. При разборе буфера все функции посылают запрос на получение заново и в итоге повисают. Буфер данных содержит 0.. |
motryks2
|
|
05.11.2013, 20:29 | 6 |
case ENUM_GET_FULL_DEV_DESC:
Код
/* Get FULL Device Desc */ if ( USBH_Get_DevDesc(pdiv, phost, USB_DEVICE_DESC_SIZE)\ == USBH_OK) { /* usir callback for divice dessriptor available */ phost->usr_cb->DeviceDescAvailable(&phost->divice_prop.Dev_Desc); phost->EnumState = ENUM_SIT_ADDR; } briok; |
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
05.11.2013, 20:40 | 7 |
motryks2, в какой среде пишете?
Что к хосту подключаете? Мышу, клаву, флешку, ....
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
05.11.2013, 21:05 | 8 |
Сообщение от motryks2
Так что пробуйте - может, что-то и откликнется на энумерацию. Вот и hd44780 про то же спрашивает.
0
|
motryks2
|
|
06.11.2013, 17:50 | 9 |
Или это на столько не очевидно, что нужно уточнять?) Если я говорил про демку от ST - запись аудио, Oudyo_playback_omd_record, значит я подключал к usb флешку, и не одну. Если stm32F4_Dyscovery_USB_HOST_Mouse_Keyboard - значит мышку или клавиатуру. Если USBD режим - подключал ее к PC как HID устройство, именно -мышка. Так вот в том то и дело, что родные демки в hex (USB HOST MODE) - тоже не работают. Все отваливается на энумерации, не доходя еще даже до реализации класса устройства. Демки по USBD от ST - работают. Я даже usb чайник (Чайник программируется через usb) тыкал в случае со своим кодом - один и тот же эффект. |
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
06.11.2013, 18:08 | 10 |
Сообщение от motryks2
Ссылочкой не поделитесь?
0
|
06.11.2013, 18:08 | |
06.11.2013, 18:08 | |
Помогаю со студенческими работами здесь
10
Реализация обмена данных по USB Custom class на STM32F4-Discovery STM32F4 USB HID Host отправка данных в девайс Странное поведение USB Host (флэшка). STM32F4, Coocox stm32f4 usb host+spi slave есть ли смысл STM32F4 - USB Host+FreeRTOS под IAR виснет STM32F4 USB VCP проблема TimeOut-а при передачи данных от PC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|