Тёмный
No video :(

STM32. Внешние прерывания EXTI. Подключаем кнопки и инкрементальный энкодер. 

Олег Волков
Подписаться 11 тыс.
Просмотров 6 тыс.
50% 1

Опубликовано:

 

22 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 39   
@user-bx3qg8js3b
@user-bx3qg8js3b Год назад
Олег, здравствуйте. Мне нравится ваши уроки , если можно так сказать, доходчиво приподносите материал. Продолжайте так дальше. Спасибо. Всех благ.
@svbHiTek
@svbHiTek 4 месяца назад
Привет, написал код работы с энкодером по прерываниям, не использовал микруху с триггерами Шмитта, не использовал проверку на дребезг с использованием проверки через промежуток времени. Работает изумительно, жаль нельзя его тут выложить, причем отсекает дребезг очень четко, но если его подавить аппаратно, то не будет лишних срабатываний прерывания.
@ALCohol-qu7ib
@ALCohol-qu7ib 3 года назад
Продолжайте в том же духе, думаю со временем подписчиков у вас станет значительно больше.
@Solderingironspb
@Solderingironspb 3 года назад
Спасибо)
@dr.emmettbrown8466
@dr.emmettbrown8466 3 года назад
Да подтверждаю, схема на триггере Шмидта отлично работает с энкодером и кнопками, устраняя дребезг. На этой схеме у меня уже не один проект работает.
@dronwolf5199
@dronwolf5199 3 года назад
Спасибо за помощь)
@rn4acw
@rn4acw 3 года назад
Очень интересна связка стм32 и flprog! Так как подругому программировать я и миллионы других не умеют. А стм желанная вкусняжка.
@Solderingironspb
@Solderingironspb 3 года назад
FlProg интересная штука. Сам еще год назад, сидя на ардуино, слизывал оттуда куски кода общения по modbus) но программист, если начнет в ней работать, то переплюется тысячу раз) и дело будет как раз в том, что ему не будет хватать гибкости. Это как при конфигурировании ПЛК. Что тебе дано - тем и пользуйся. Универсальности мало, зато риск накосячить минимален)
@rn4acw
@rn4acw 3 года назад
@@Solderingironspb Согласен. Но я по жизни схемотехник, flprog это манна небесная для меня. Мой склад ума и flprog это как одно целое. Как думаете возможно сделать проект в flprog и оптимизировать код для stm32?
@Solderingironspb
@Solderingironspb 3 года назад
@@rn4acw можно, НО это будет очень долго и сложно, т.к. код там генерируется на ядре ардуино и под определенный МК(по крайней мере, когда я работал в нем, в коде многие команды были на регистрах). Это нужно полностью понимать весь сгенерированный код, далее адаптировать его уже под свой МК(тот же Stm32F103C8T6). Как ни крути, придется изучать программирование... Но в данном случае нужно хорошо знать МК, под который FLProg генерирует код, и МК, под который данный код адаптировать... А вообще, не бойтесь начать изучать программирование. Все, что я сейчас делаю - это заслуга упорства и мой опыт в чуть больше года. Начал все 28.07.2019 на Arduino Mega. Через месяц написал свой первый проект. Еще через 2 месяца, уже создал печатную плату с Atmega328 на борту, гальванической развязкой и простеньким алгоритмом на регистрах. Через пол года уже сделал себе умный дом(я вообще боялся даже подумать о нем). Главное в этом деле - начать. Начнутся вопросы - Вы сами же на них себе ответите на форумах, на ютубе и прочих ресурсах. Так шаг за шагом сформируется база знаний. А если еще и читать книги будете, то вообще взлетите по продуктивности. Я знаю о чем говорю, т.к. я не программист, я инженер энергетик по образованию, а работаю вообще в сфере ремонтов лабораторного оборудования. Так что и у Вас все получится)
@user-bn2qp6sh8r
@user-bn2qp6sh8r 3 года назад
@@Solderingironspb а я умный дом называю "ленивый дом ". Т. К. Ничего умного в нём не вижу
@Solderingironspb
@Solderingironspb 3 года назад
Ну...защита от протечки, поддержание чистого воздуха в квартире, поддержка климата. Мне кажется - это не так уж и плохо) а так да) каждому свое.
@ivanrusev2270
@ivanrusev2270 5 месяцев назад
Это всё хорошо.Но в обработчике внешних прерываний код много нельзя писать а дребезг контактов.Я отказываюсь от програмной заденжке.А сделал свою аппаратно -программную задержку используя вн. прерывание и прерывание по таймеру.
@AndreyChigisheff
@AndreyChigisheff 2 года назад
Хм, когда работаешь с короткой записью if, тогда еще можно понять переопределение А. А вот в случае с полным if else elsif то это уже паранойя. A уже определено и А = А писать не надо. Не думаю, что компилятор настолько оптимизирует код, что выкинет лишнее. В случае с контроллером - это уже перебор. Можно легко в out of memory вляпаться
@fedorsova6832
@fedorsova6832 3 года назад
Проверять во внешнем прерывании от чего произошло прерывание, которое и так уже известно от чего оно должно вызываться это лишнее. В прерывании сразу можно прописывать действия. Иначе чем от нажатия кнопки оно и не могло произойти.
@Solderingironspb
@Solderingironspb 3 года назад
Да, Вы правы) Но я в отношении кнопки и ног энкодера делал двойное прерывание, как по низкому логическому уровню, так и по высокому логическому уровню. Отсюда и делал проверку, чтоб можно было производить то или иное действие, в зависимости от логического уровня.
@user-si2kj5jk9y
@user-si2kj5jk9y Год назад
Олег, всё толково и понятно. А в телеграмм у вас нет канала?
@Solderingironspb
@Solderingironspb Год назад
Есть. Но мы там особо ничего и не делаем, все в вк.t.me/+ZrLLZvFxvWU4YjBi
@alexpetrov521
@alexpetrov521 3 года назад
Здравствуйте. Хочу в автомобиль сделать регулятор скорости вращения вентилятора отопителя. Чтобы управлять энкодером и к примеру каждый его шаг добавлял 10% к ШИМ и увеличивал или уменьшал скорость вентилятора. И при этом выводить на тфт дисплей анимацию, сколько в данный момент задано значение. Реально ли это сделать новичку?) Не хочу моргать светодиодом, хочется сразу с полезного начать.
@Solderingironspb
@Solderingironspb 3 года назад
Добрый день) можно) но без вникания в процессы, я б не советовал делать это. Все же в автомобиль встраивать хотите... узел должен быть надежным и безопасным. Энкодер фильтровать нужно, шим подключать не в ключевом режиме, как ардуинщики делают, а через шим драйвер, чтоб мосфет не перегревался и не взорвался(да, такое только так бывает на высоких частотах). Ну и само собой, предохранитель на все это дело. Про дисплей - это можно, при условии, что библиотеку под него напишете или найдете.
@d1zz3l
@d1zz3l 3 года назад
Олег, подскажите как выводить подсказки у функций в момент их написания
@Solderingironspb
@Solderingironspb 3 года назад
Ctrl + пробел)
@d1zz3l
@d1zz3l 3 года назад
@@Solderingironspb большое вам спасибо за совет и видео. Продолжайте их выпускать, очень полезный материал, все понятно.
@cybercube7915
@cybercube7915 3 года назад
Я может чего не понимаю, но почему не настраиваете проект сразу cubeide ведь он содержит в себе cubemx
@Solderingironspb
@Solderingironspb 3 года назад
ну....предыдущее видео Вам в пример. CubeIDE просто начинает обновляться или тормозить именно тогда, когда я видео записывать начинаю.
@cybercube7915
@cybercube7915 3 года назад
@@Solderingironspb Понятно..я то думал .Хорошая у вас подача материала для новичков
@Solderingironspb
@Solderingironspb 3 года назад
Спасибо)
@avr_stm_pro2955
@avr_stm_pro2955 3 года назад
Спасибо за труд
@user-bn2qp6sh8r
@user-bn2qp6sh8r 3 года назад
А вы к чему хотите прийти в программировании ? Или занимаетесь просто для общего развития?
@Solderingironspb
@Solderingironspb 3 года назад
Вообще все начиналось для общего развития, т.к. работаю ведущим сервисным инженером в промышленности. Хотел знать, как работает тот или иной узел, чтоб быстрее делать диагностику и качественней проводить ремонты. Но меня чего-то уносит все дальше и дальше...теперь хочу вообще все знать и уметь, чтоб при любом вопросе я б мог пойти и собрать аналог устройства, ни чуть не хуже, а может еще и с доп. фичами. Ну и самое главное, чтоб быть уверенным в своих устройствах. Поэтому я и ушел с ардуино. Хобби перешло в работу.
@user-bn2qp6sh8r
@user-bn2qp6sh8r 3 года назад
@@Solderingironspb и как успехи сейчас? Что то стоящее удалось сделать?
@Solderingironspb
@Solderingironspb 3 года назад
Ну...умный дом собрал. Мешалку верхнеприводную для сред с ПИД регулированием сделал. Переходники для джойстиков от sega и nes на USB. Устройство для запроса данных с электросчетчика по modbus сделал. Контроллер аварийного отключения двигателя при сухом ходе. Плакат с LED подсветкой и управлением по ИК. Коммерческие заказы были.... так если посмотреть, то много всего полезного для себя за этот год сделал.
@user-bn2qp6sh8r
@user-bn2qp6sh8r 3 года назад
@@Solderingironspb а где информацию брали ? Видео или печатное что то?
@Solderingironspb
@Solderingironspb 3 года назад
@@user-bn2qp6sh8r Везде, где только можно... Т.к. я работаю в промышленности, то я вижу каждый день, как работают ПЛК, как работает ПИД регулятор. Могу заглянуть внутрь и посмотреть, как и что устроено. Поползать в их программах при наладке, что-то новое для себя подчерпнуть. Знаю про существование датчиков с выходом 0-10В, 4-20mA, термосопротивлений pt100, pt1000, термопар К типа и прочего(а многие, кроме модулей, как они называют "для ардуино", ничего и не пробовали.). т.е. база знаний у меня, не постесняюсь, приличная была уже. Далее я купил ардуино, начал с канала AlexGyver и второго канала Заметки Ардуинщика. Смотрел именно теорию, а не самоделки. Далее друг помог с первым проектом (просто попробовали сделать вытяжку для кухни. Там были кнопки и семисегментный индикатор). После этого я начал уже как-то ориентироваться, что и куда. Коллега у меня на работе знает си на высочайшем уровне. У него часто консультировался. А так...В большей степени RU-vid(Умный дом - Alex Kvazis и Электроника в объективе. Промышленные решения на ардуино и электротехника - Arduino Prom, Artem Kashkanov, Виктор Кравченко). Самым большим и переломным моментом в программировании для меня было - это взять в руки Stm32 и начать ее изучать. Пусть со мной многие не согласятся, но я считаю работу с Stm32 куда более логичной и понятной, чем работу с библиотеками в ардуино, т.к. там черт ногу сломит, кто как пишет. Ничего не понятно. Подключишь несколько библиотек, что-то отвалится. Сидишь тупишь...Зайдешь в группу с ардуиноведами, задашь вопрос, а его либо игнорят, либо школьники начинают писать фигню. Здесь же прочел две книги и оно само как-то прет по чуть-чуть. Самый ценный ресурс в данной теме - это время. Его у меня уходит очень много...
Далее
Мама приболела😂@kak__oska
00:16
Просмотров 725 тыс.