Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-окт-23 17:27

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 32 сообщения ]  На страницу « 1 2 3
Автор Сообщение
 Заголовок сообщения: Re: USB HID - Keil 5
СообщениеДобавлено: 2021-сен-10 10:36 
Не в сети

Зарегистрирован: 2014-сен-09 07:21
Сообщения: 26
Александр_34 писал(а): *

Это я понимаю. Я переделал устройство и задействовал endpoint OUT (переделал репорт и конфигурацию) поскольку мне требуется принимать пакеты данных от хоста. Однако столкнулся с проблемой приема. Передачу прослеживаю через Wireshark, вижу что данные направлены в endpoint OUT с адресом 0x01. Когда данные приходят в устройство я прослеживаю свои переданные данные в регистре SEP_FIFIO2_TXFDC. Мне совершенно непонятно почему именно в FIFO2, он не относится к моей endpoint OUT (или я просто чего то не понимаю ). Endpoint OUT с адресом 0x02 у меня вообще не настроена и неактивна. Endpoint IN имеет адрес 0x81, endpoint OUT имеет адрес 0x01. Очевидно что в функции USBD_HID0_SetReport в *buf данные не поступаю. Начал искать ответ в файле Driver_USBD.c на вероятные ошибки, но пока что безуспешно.
Надо смотреть как вы изменили дескриптор и переделали проект. Думаю, проще взять за основу другой проект Generic HID или Keyboard или сравнить с ними. Там данные передаются в обе стороны.


Вернуться к началу
 Заголовок сообщения: Re: USB HID - Keil 5
СообщениеДобавлено: 2021-сен-10 10:55 
Не в сети

Зарегистрирован: 2021-сен-08 10:03
Сообщения: 4
Организация: АО Горизонт
transformator писал(а): *
Александр_34 писал(а): *

Это я понимаю. Я переделал устройство и задействовал endpoint OUT (переделал репорт и конфигурацию) поскольку мне требуется принимать пакеты данных от хоста. Однако столкнулся с проблемой приема. Передачу прослеживаю через Wireshark, вижу что данные направлены в endpoint OUT с адресом 0x01. Когда данные приходят в устройство я прослеживаю свои переданные данные в регистре SEP_FIFIO2_TXFDC. Мне совершенно непонятно почему именно в FIFO2, он не относится к моей endpoint OUT (или я просто чего то не понимаю ). Endpoint OUT с адресом 0x02 у меня вообще не настроена и неактивна. Endpoint IN имеет адрес 0x81, endpoint OUT имеет адрес 0x01. Очевидно что в функции USBD_HID0_SetReport в *buf данные не поступаю. Начал искать ответ в файле Driver_USBD.c на вероятные ошибки, но пока что безуспешно.
Надо смотреть как вы изменили дескриптор и переделали проект. Думаю, проще взять за основу другой проект Generic HID или Keyboard или сравнить с ними. Там данные передаются в обе стороны.
Пробовал проект Firmware_Keyboard, но данные передаются и туда и обратно только через endpoint 0 + к этому ряд сопутствующих проблем (возникли сложности с режимом FULLSPEED при тактировании ядра частотой более 48 МГц и данные endpoint IN передаются синхронно).
Мне интересно кто автор USB_HID_Mouse_Example. Автор данного примера хорошо постарался переделав функции драйвера в файле Driver_USBD.c под регистры миландровского контроллера. Наверняка прием данных от хоста проверялся.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 32 сообщения ]  На страницу « 1 2 3

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB