Comments 6
Спасибо большое за статью, очень интересно!
Ко мне уже едет набор для сборки ZMR250, но я поленился и заказал готовый USB-переходник для подключения аппаратуры. Честно говоря, мне даже не пришло в голову, что его можно сделать самостоятельно.
Ко мне уже едет набор для сборки ZMR250, но я поленился и заказал готовый USB-переходник для подключения аппаратуры. Честно говоря, мне даже не пришло в голову, что его можно сделать самостоятельно.
Спасибо большоe за проект!
Как раз думал чем сегодня заняться + STM32F3-Discovery под рукой. Залил Adapter.hex черeз STM32 ST-LINK Utility подключился к Turnigy 9X и даже успешно полетал! :)
Как раз думал чем сегодня заняться + 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), запустил на выполнение, — и все чудесным образом завертелось, обработчик стал вызываться.
Кто-то может объяснить почему так? Или хотя бы какой раздел документации копать? :)
По образцу сделал такой же проект для STM32F103C8T6, но уткнулся в интересную проблему — может кто-то поопытнее поможет решить?
В F103 выводы таймера TIM3 не толерантны к 5В, поэтому использовал 1й канал таймера TIM1. Перенес куски кода с USB дескриптором, логикой обработки прерываний, проверил что везде вместо TIM3 используется TIM1… Не работает!
Отладчик показывает что не вызывается обработчик прерывания таймера. Смотрю в регистр TIM1_DIER: бит разрешения прерывания СС1IE установлен, источник PPM сигнала подключен, но обработчик не вызывается! От безысходности ткнул в бит разрешения прерывания по событию Trigger (TIE), запустил на выполнение, — и все чудесным образом завертелось, обработчик стал вызываться.
Кто-то может объяснить почему так? Или хотя бы какой раздел документации копать? :)
Авиамодельный пульт больше похож по своему функциональному назначению на геймпад, поэтому в дальнейшем я иногда буду использовать термин «геймпад».
И дальше по тексту почти везде написано «джойстик». :)
Sign up to leave a comment.

PPM-to-USB адаптер на STM32F3Discovery, или Подключаем авиамодельный пульт к компьютеру как HID-джойстик с STM32Cube