Найден 21 результат

Kellya
Вт ноя 10, 2020 20:01:38
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

[uquote="Мурик",url="/forum/viewtopic.php?p=3922154#p3922154"] Но клавиша почему-то остается нажатой. А вы проинформировали хост что она была отпущена? Нужно отправить пакет не содержащий код этой клавиши, иначе она считается нажатой.[/uquote]
Точно. Спасибо. Теперь вспомнил, что когда-то попадалось ...
Kellya
Вт ноя 10, 2020 17:39:26
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Столкнулся с ещё одной проблемой. После того как отправляю репорт, который описывает нажатие клавиши на клавиатуре, почему-то эта клавиша печатается не один раз, а много (не ждал пока остановятся), будто клавишу зажали и держат. Причем, как вызов функции отправки, так и прерывание о корректной ...
Kellya
Вт окт 20, 2020 11:01:57
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

В общем ошибка была только в том, что я не указал для первой точки её адрес :oops: . Для нулевой точки там все автоматически стояло, поэтому этот момент как-то вылетел из головы. Всем большое спасибо за помощь
Kellya
Пн окт 19, 2020 21:08:04
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

В общем удалось собрать рабочий проект для мышки в CubeMX, значит железо работает нормально. Но с их дескрипторами свой код мне все равно так и не удалось запустить. Видимо неправильно пытаюсь инициализировать первую точку. Можно ли как-то вообще её не инициализировать, и, например, чтобы она на ...
Kellya
Вс сен 27, 2020 21:16:34
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

"Kellya, Вам пришли данные для для 1ой точки типа OUT и Вы их дешифровали как запрос дескриптора"
Сначала эти данные пришли для 0ой точки, я их дешифровал как запрос дескриптора, обработал и отправил. Потом проделал тоже самое для остальных дескрипторов (конфигурации, интерфейса, строк, отчета и к.т ...
Kellya
Вс сен 27, 2020 19:54:00
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

"Что у меня с interrupt было, точно не помню, но хост регулярно запросы слал"
Вот, у меня тоже хост шлет регулярно запросы к первой точке, но корректно ответить на них у меня почему-то (не разобрался) не получается. Пробую клавиатуру написать, если это как-то важно
Kellya
Вс сен 27, 2020 19:34:32
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

"Вы читали этот топик полностью?"
Да, с этого и начинал, мне очень помогло - получилось сделать так, чтобы устройство корректно отображалось в диспетчере устройств. Но для этого достаточно работы с нулевой точкой, а вот что делать с точкой interrupt in, я так и не разобрался, может быть ...
Kellya
Вс сен 27, 2020 18:21:50
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Перенес код инициализации первой точки в место перед отправкой дескриптора отчета. Вот что получилось


write_pma(&[0xc0], 8); // Пишу по адресу 0x4000_6000 + 8 * 2 значение 0xc0 - оффсет буфера передачи для первой оконечной точки
write_pma(&report, 192); // Заполняю буфер передачи репортом
write ...
Kellya
Вс сен 20, 2020 16:54:33
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

"В обработчике ресета? До прохождения энумерации?"
Получается, что да. Я думал, что можно в самом начале настроить контрольную точку, а когда хосту понадобится данные, то она уже будет готова их отдать. Просто по control sequence я достаточно много источников информации нашел, а вот что делать после ...
Kellya
Вс сен 20, 2020 16:04:21
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

"Я продираться через такое количество мэджикнамберсов не буду. Сравните как можно даже дескрипторы понятно описать."
Опыта программирования у меня не так уж и много. Век живи - век учись, как говорится.

"А за такое вообще увольнять без выходного пособия. Что записано в регистр? Какой бит ожидается ...
Kellya
Вс сен 20, 2020 14:51:54
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

В общем вот весь код. Немного изменил, чтобы основную часть перенести в main файл. Инициализация первой оконечной точки после ресета происходит на 298 и 301 строках.

Добавлено after 2 hours 53 minutes 18 seconds:
Забыл в коде указать COUNT_TX для первой точки, но если указать, то все равно не ...
Kellya
Сб сен 19, 2020 21:44:15
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Видимо где-то из-за невнимательности не могу найти ошибку, потому что сделал все как и при отправке дескрипторов, но почему-то данные из первой точки не уходят.
Kellya
Сб сен 19, 2020 12:19:29
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Я понимаю, что хост сам забирает данные, но чтобы микроконтроллер передал их, мне же все равно нужно разрешить передачу. На данный момент - после того как я передал дескриптор репорта и обработал сет репорт - я заполняю буффер данных передачи для первой точки репортом, в btable указываю размер ...
Kellya
Пт сен 18, 2020 20:27:26
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Здравствуйте.
Теперь столкнулся с такой проблемой - получаю URB_interrupt in запросы от хоста на первую оконечную точку после того, как передал дескриптор репорта, но все ответы (девайс -> хост) имеют статус USBD_STATUS_XACT_ERROR (смотрю через WIRESHARK), хотя я даже не могу получить прерывание по ...
Kellya
Вт авг 25, 2020 19:43:31
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Спасибо за помощь. Оказалось, что проблема и правда в юарте: у меня почему-то не отправляются (или не принимаются в консоль) байты 0x11, 0x12, 0x13. Буду сейчас для начала с этим пытаться разобраться
Kellya
Вт авг 25, 2020 00:03:09
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

[uquote="VladislavS",url="/forum/viewtopic.php?p=3883341#p3883341"][uquote="Kellya",url="/forum/viewtopic.php?p=3883337#p3883337"]Да просто проблем с ним не возникало до этого, данные пересылал без каких-либо нареканий.[/uquote]Однако, они есть. Отделяем мух от котлет. Для отладки USB не нужен UART ...
Kellya
Пн авг 24, 2020 23:28:59
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

[uquote="VladislavS",url="/forum/viewtopic.php?p=3883334#p3883334"][uquote="Kellya",url="/forum/viewtopic.php?p=3883310#p3883310"]Но если я пытаюсь записать туда размер передаваемых данных (0x0000_0012)[/uquote]Зачем? "Войну и мир" туда ещё запишите, польза будет такая же.[/uquote]
Если Вы про ...
Kellya
Пн авг 24, 2020 23:19:18
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3883329#p3883329"]Не уверен, по-моему USB_COUNTn_TX уменьшается по мере отправки данных, или я это "с прямым углом перепутал".
то по uart мне приходит уже не 4 байта, как раньше, а почему-то только 3 Возможно тут вопрос к коду для УАРТ.[/uquote]

Да я ...
Kellya
Пн авг 24, 2020 22:49:32
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3883320#p3883320"] Или я плохо разобрался с адресацией PMA Тут картинка интуитивно понятная.[/uquote]

Не, не. Это понял все. С адресом 0x4000_6000 проблем не возникает. А когда я делаю все тоже самое, но с 0x4000_6004, то какая-то ерунда получается
Kellya
Пн авг 24, 2020 21:52:15
Форум: ARM
Тема: STM32 и USB (практика)
Ответы: 582
Просмотры: 202859

Re: STM32 и USB (практика)

Ну я так и делаю. Если я пишу по адресу 0x4000_6000 (адрес буфера передачи нулевой точки при btable = 0) значение 0x0000_00040, то потом могу его так же просто считать оттуда и получу свои 0x0040. Если я проделаю ту же самую операцию, но уже для регистра 0x4000_6000 + 4 со значением, например ...

Перейти к расширенному поиску