Спасибо всем в этой ветке! Получилось сдвинуться с мёртвой точки! Настроил периферию, включил прерывание - приходит RESET - выполнил в этом прерывании инициализацию EP0, приходит прерывание по CTR - а дальше - в пакетной памяти ничего. Неделю стучался об клавиатуру пальцами и головой - не мог понять что я делаю не так. Грабли оказались в RTFM. Регистр USB_COUNTn_RX, который в пакетной памяти в таблице BTABLE - не такой простой. В рефмане, конечно всё описано, читал невнимательно. Там, в регистре, не просто количество байт размера буфера приёма указывается. Там в старшем (15) байте - режим указания размера буфера - 1 - значит указывается количество 32-байтных блоков, 0 - количество 2-байтных блоков, биты 10-14 - это тот самый размер, который мы указываем, остальное - readonly количество пришедших в эндпоинт байт.
Низкоуровневая работа с USB на STM32
- Сообщения: 2
- Зарегистрирован: Вс сен 04, 2016 00:01:12
- Реклама
AV_86, вот этот топик поглядите, как то туда вся дискуссия слилась.

