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

