Как стать автором
Обновить

Комментарии 6

Спасибо большое за статью, очень интересно!
Ко мне уже едет набор для сборки ZMR250, но я поленился и заказал готовый USB-переходник для подключения аппаратуры. Честно говоря, мне даже не пришло в голову, что его можно сделать самостоятельно.
Спасибо большоe за проект!
Как раз думал чем сегодня заняться + STM32F3-Discovery под рукой. Залил Adapter.hex черeз STM32 ST-LINK Utility подключился к Turnigy 9X и даже успешно полетал! :)
Ага, USB HID! Отличненько, прикопал до времени, когда понадобится. За исходники на отдельное спасибо.
Спасибо за статью. Отличный проект выходного дня для начинающих ковырять STM32, вроде меня.
По образцу сделал такой же проект для STM32F103C8T6, но уткнулся в интересную проблему — может кто-то поопытнее поможет решить?

В F103 выводы таймера TIM3 не толерантны к 5В, поэтому использовал 1й канал таймера TIM1. Перенес куски кода с USB дескриптором, логикой обработки прерываний, проверил что везде вместо TIM3 используется TIM1… Не работает!

Отладчик показывает что не вызывается обработчик прерывания таймера. Смотрю в регистр TIM1_DIER: бит разрешения прерывания СС1IE установлен, источник PPM сигнала подключен, но обработчик не вызывается! От безысходности ткнул в бит разрешения прерывания по событию Trigger (TIE), запустил на выполнение, — и все чудесным образом завертелось, обработчик стал вызываться.

Кто-то может объяснить почему так? Или хотя бы какой раздел документации копать? :)
Разобрался сам. Проблема была в неправильной настройке таймера в Cube MX: нужно было включить обработчик прерывания «Capture and Compare» вместо «Trigger and Commutation» во вкладке «NVIC settings» в окне конфигурации таймера:

image

Портированный на STM32F103C8 проект для CooCox и CubeMX лежит здесь
Авиамодельный пульт больше похож по своему функциональному назначению на геймпад, поэтому в дальнейшем я иногда буду использовать термин «геймпад».

И дальше по тексту почти везде написано «джойстик». :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации