eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2019-10-29 08:23 pm

USB CDC на STM32F103

Таки вымучил классический CDC ACM на STM32F103. Заодно добавил туда детектирование подключения/отключения клиента. Вот только чтобы детектировать физическое подключение, придется мониторить уровень напряжения на USB порту — почему-то аппаратных вариантов (скажем, прерывание сгенерировать как только кабель выдернут) нет! Я надеялся было на SUSP — прерывание по бездействию — но эта зараза присутствует не только при отключенном кабеле, но и при отсутствии подключенного клиента!
Еще один небольшой недостаток: почему-то не работает на андроиде. Возможно, там какой-то тивоизированный модуль ядра, который распознает лишь ACM с определенными VID/PID, а не произвольными!