Энкодер 🕹️ и STM32 подключение (на CMSIS и HAL)

Ғылым және технология

📝 Статья: cxemka.com/71-podklyuchenie-e...
🏷️ KY-040 360 Degrees EC11 (0.71💲): ali.ski/H-gY0_
🏷️ 360 Degrees Rotary Encoder (0.46💲): ali.ski/NrPIM
🏷️ USB Logic Analyze 24M 8CH (4.69💲): ali.ski/RFBZY
🏷️ Logic Analyzer 24M 8CH (5.30💲): ali.ski/pRABTt
🏷️ STM32F030F4P6 Board (1.20💲): ali.ski/jiIOj2
🏷️ 0.91 inch OLED (1.42💲): ali.ski/8JgXx
🏷️ SG90 Servo 9g (0.77💲): ali.ski/Z3Qe_
🛒 Мой мультиметр T21D RM113D (13.81💲): ali.ski/ED0syl
↪️ GitHub: github.com/Egoruch/Incrementa...
#stm32 #cmsis #hal #stm32cubeide
✒️ Благодаря возможности работы некоторых таймеров с накопительным (инкрементальным) энкодером его можно подключать аппаратно. Таким образом после настройки и подключения изменения в счетчике будет происходить независимо. Но кроме обычной настройки рассмотрен способ определять вращение путем настройки прерывания по триггеру .

Пікірлер: 55

  • @CanchezAK
    @CanchezAK3 жыл бұрын

    Внезапно, очень толково... Мужик, продолжай, прямо вот всё идеально показано и рассказано.

  • @sebastianangelo2054

    @sebastianangelo2054

    2 жыл бұрын

    i guess it's kinda randomly asking but do anybody know a good site to watch new series online ?

  • @xavierkoda9531

    @xavierkoda9531

    2 жыл бұрын

    @Sebastian Angelo i dunno atm I've been using Flixportal. just search on google after it :D -xavier

  • @sebastianangelo2054

    @sebastianangelo2054

    2 жыл бұрын

    @Xavier Koda thank you, I went there and it seems to work :) I really appreciate it !

  • @xavierkoda9531

    @xavierkoda9531

    2 жыл бұрын

    @Sebastian Angelo You are welcome :)

  • @LMTS100
    @LMTS1003 жыл бұрын

    Давно ничего толкового по CMSIS не видел. Спасибо + Like

  • @andreiefimov9666
    @andreiefimov96663 жыл бұрын

    Спасибо за детальное пояснение. У Вас хорошо получается: по делу и коротко. Продолжайте в том же духе!

  • @dobroliub1908
    @dobroliub19083 жыл бұрын

    Как же хорошо что о CMSISe с её регистрами не забываете, плюс еще и HALL ...Моё почтение!) и дальше так держать!! всё очень толково изложено. Всегда предпочитаю понимать что и где у меня в коде происходит, а не тонуть в куче библиотек..Возможно на HALL и перейду, но пока об этом рано говорить)) Спасибо Вам за моё сэкономленное время!

  • @sledleo
    @sledleo3 жыл бұрын

    Вот это заход по CMSIS, шикарно! Ждем еще!

  • @world_conspiracy
    @world_conspiracy3 жыл бұрын

    Хотел посмотреть пример работы с энкодером на CMSIS, но ещё и гуглить правильно научился))

  • @TDMLab
    @TDMLab3 жыл бұрын

    Огонь👍

  • @cxemkacom3623

    @cxemkacom3623

    3 жыл бұрын

    о, какие люди я подписан на вас)

  • @TDMLab

    @TDMLab

    3 жыл бұрын

    @@cxemkacom3623 а я на вас) сейчас смотрю про дребезг. Подача мне нравится, желаю успехов в развитии канала.

  • @IvanIvanov-ny4nz
    @IvanIvanov-ny4nz3 жыл бұрын

    Спасибо. Интересное видео. Продолжайте снимать про STM32.

  • @ivangolubov4931
    @ivangolubov49316 ай бұрын

    Тоже начинал c CMSIS. Новичку конечно сложновато, но зато один раз разобравшись дальше всё идёт по накатанной.

  • @MrSergej72
    @MrSergej723 жыл бұрын

    Такого ещё не видел на Ютубе, Лайк !!!

  • @Diamond8822
    @Diamond88223 жыл бұрын

    Очень обстоятельно и без воды! лайк и подиписка

  • @OhrimenkoDI
    @OhrimenkoDI3 жыл бұрын

    Отличное видео! Без воды, все по делу!

  • @user-si2kj5jk9y
    @user-si2kj5jk9y Жыл бұрын

    Вот это ДА!!! Вот это подача! Никакого жевания соплей! Всё чётко , развёрнуто и информативно. Подписываюсь однозначно.

  • @Chettuser
    @Chettuser3 жыл бұрын

    Благодарю! Особенно за CMSIS.

  • @slavaglow6933
    @slavaglow69333 жыл бұрын

    Спасибо, очень полезно. Продолжайте, лайк и подписка.

  • @masterkit9517
    @masterkit95173 жыл бұрын

    Умница!

  • @statstopfinish
    @statstopfinish3 жыл бұрын

    Хорошо подана информация. Так держать.

  • @artvk8294
    @artvk82943 жыл бұрын

    Круто. Спасибо!

  • @lsdlsd6036
    @lsdlsd60362 жыл бұрын

    Я обескуражен данным видео

  • @ebjikkolu4757
    @ebjikkolu47572 жыл бұрын

    Когда речь зашла о сравнении занимаемой программой памяти я закрыл глаза и заткнул уши

  • @serggorod7916
    @serggorod79163 жыл бұрын

    Mustech MS8220R Лучший тестер! но и в описании совсем хорош,единственное что не УДОБНО КНОПКА ВКЛЮЧЕНИЯ. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ Выбор пределов измерений автоматический/ручной Максимальное значение индикатора 5999 Диапазоны измерения постоянного напряжения 6/60/600В ±0.5%, 1000В ±0.8% Диапазоны измерения переменного напряжения 6/60/600В ±0.8%, 1000В ±1.0% Диапазоны измерения постоянного тока 600/6000 мкА/60/600 мА ±1.2%, 10A ±1.5% Диапазоны измерения переменного тока 600/6000 мкА/60/600 мА ±1.5%, 10A ±2.0% Диапазоны измерения частоты 6000Гц - 60Мгц Диапазоны измерения сопротивления 600 Ом/6/60/600 кОм/6 MОм ±1.0%,60Ом ±1.5% Диапазоны измерения температуры t°C -40°C ~ 1000°C±2.9% Диапазоны измерения емкости 6 нФ - 6000 мкФ Прозвонка цепей на проводимость есть Tест диодов, транзисторов есть Автоматическое отключение питания есть (Cо звуковым сигналом!) Удержание данных на дисплее (Data Hold) есть Источник питания 6F22(9В) Габариты 195 x 92 x 43 мм ИК КОМ ПОРТ. реальные значения (тру РМС)

  • @SmNikolay
    @SmNikolay3 жыл бұрын

    Хорошее видео. Не подскажите как работать с энкодером(hal timer) который дает полный импульс за 2 щелчка?

  • @clora1136
    @clora11363 жыл бұрын

    Вроде как вы при подтяжке забыли отрицание маски сделать. Я на гите оставил задачу с пояснением.

  • @masterkit9517
    @masterkit95173 жыл бұрын

    CDC_Transmit_FS((uint8_t*)"0x90",strlen("0x90")); передает как строку данные в ком порт, а как передать в виде HEX ? в ардуино было SERIAL.WRITE (0x90); отлично работало, а как в STM32, пишу вам вопрос, так как вы практически единственный кто может ответить, остальные пустое место

  • @sskdll
    @sskdll2 жыл бұрын

    Спасибо за видео! Мне не понятно зачем нужна приставка UL. то что это unsigned long понятно, но вот в чем разница между ( 0x1

  • @dinvinchester3353

    @dinvinchester3353

    Жыл бұрын

    В том что ul ансигнед Лонг а 0x1 скорее всего инт или int8_t короче это уточнение для компилятора какого типа будет переменная

  • @user-yu1bq5ic8r
    @user-yu1bq5ic8rАй бұрын

    почему у меня имя константы (тип uint8_t) подчеркивается красным? при наведении на имя отображается вот такое предупреждение warning: no previous extern declaration for non-static variable 'name'

  • @masterkit9517
    @masterkit95173 жыл бұрын

    Хочу сделать отправку в USB через дескриптор из примера джойстика миди сообщение, подключил миди устройство отлично на STM32 103 определили fruity loops и любые муз. редакторы, а вот упаковать не могу сообщение и отправить, нашел потом пример джойстика очень хороший, там есть упаковка байта или двух, но все равно не сообразил, новичку трудно очень, вы явно разобрались бы, слушал ваше видео с открытым ртом, кому не задавал вопрос только мямлили что-то невнятное, даже самые крупные каналы оказывались мыльными пузырями. На вашем канале нашёл больше чем на самых "громких" каналах по STM32 где даже не ответят на комментарий, а тем более как миди 2 байта отправить уже известному дескриптору, подключенному в муз.редактор, никто не помог, отпинали ногами только всюду( у вас хоть приятно послушать уроки, нигде не было того что есть у вас. Ни по сдвиговым регистрам ни по serial. Уверен миди тема вам легко бы далась, я смеюсь с предыдущих "гуру" которые 2 байта даже не подсказали как послать и куда. А как реклама на их каналах, так профессоры все.

  • @Argonec
    @Argonec3 жыл бұрын

    Если не оскорбит , подскажите пожалуйста как изменить " направление вращения " энкодера при аппаратной реализации на HAL . Спасибо . P.S. Искал , гуглил , не получилось .

  • @cxemkacom3623

    @cxemkacom3623

    3 жыл бұрын

    поменять местами выводы DT и CLK физически

  • @bogdanzayatsastronomyandna4722

    @bogdanzayatsastronomyandna4722

    3 жыл бұрын

    @@cxemkacom3623 а програмно в мк?

  • @cxemkacom3623

    @cxemkacom3623

    3 жыл бұрын

    @@bogdanzayatsastronomyandna4722 только средствами мк походу нельзя: The count direction correspond to the rotation direction of the connected sensor. Можно попробовать в прерывании свою переменную увеличивать/уменьшать проверкой в регистре TIM3->CR1 бита направления DIR. Depending on the sequence the counter counts up or down, the DIR bit in the TIMx_CR1 register is modified by hardware accordingly. The DIR bit is calculated at each transition on any input (TI1 or TI2), whatever the counter is counting on TI1 only, TI2 only or both TI1 and TI2.

  • @masterkit9517

    @masterkit9517

    3 жыл бұрын

    @@bogdanzayatsastronomyandna4722 А если там поставить ! знак инверсии?

  • @olegp.3012

    @olegp.3012

    2 жыл бұрын

    Направление вращения програмно меняется изменением Polarity c Rising Edge на Falling Edge в CubeMX. Polarity это немного не то, что автор озвучил. Сам же счетчик будет считать любое изменение сигнала на ножке мк, т.е. за один щелчек CNT будет увеличиваться на 2.

  • @ivanrusev2270
    @ivanrusev22702 жыл бұрын

    В режиме Энкодера прерывания не включают.И при включеня шим вывода также не включают

  • @micromaster4405

    @micromaster4405

    Жыл бұрын

    Почему же?

  • @ivanrusev2270

    @ivanrusev2270

    Жыл бұрын

    @@micromaster4405 Есть примеры.Но я их не прописывал.По крайне мере в AVR .Ну хоорошо а прерывание по таймеру и ДМА по таймеру совместимы?

  • @micromaster4405

    @micromaster4405

    Жыл бұрын

    @@ivanrusev2270 думаю да, так как по идее дма и прерывания разные блоки, и коллизий быть не должно

  • @statstopfinish
    @statstopfinish3 жыл бұрын

    Все хорош, работает, но какого фига он считает по два значения за один щелчок энкодера . Ведь режим энкодера стоит TI1

  • @olegp.3012

    @olegp.3012

    2 жыл бұрын

    Так и должно быть, значение счетчика изменяется при любом изменении сигнала на ножке мк, посмотрите рисунки в referens manual. Обрабатывайте значение счетчика програмно.

  • @user-cn9sh9md5e

    @user-cn9sh9md5e

    Жыл бұрын

    @@olegp.3012 А в ролике видно, шо переменная изменяется на один, как- так-то?

  • @olegp.3012

    @olegp.3012

    Жыл бұрын

    @@user-cn9sh9md5e за один "щелчек" сигнал на ножке мк меняется дважды - с высокого на низкий и опять с низкого на высокий. Оба эти события изменяют регистр CNT счетчика в одну сторону. Никто не запрещает зафиксировать промежуточное значение счетчика для красивого видео. Если вести счет по двум ножкам, счетчик будет изменяться на 4 единицы.

  • @user-cn9sh9md5e

    @user-cn9sh9md5e

    Жыл бұрын

    @@olegp.3012 Тобиш чтобы переменная менялась на один, надо TIM->CNT делить на 4 (при счете с двух выходов), окай, а в ролике нет этого и переменная меняется на один, как так?

  • @olegp.3012

    @olegp.3012

    Жыл бұрын

    @@user-cn9sh9md5e думаю, автор ролика крутит энкодер плавно и ловит промежуточные значения счетчика между щелчками. Весь код есть в видео, вы уже повторили его в железе? На сколько изменяется значение?

Келесі