STM32. Урок 12. NVIC. EXTI. Примеры внешних прерываний

Поделиться
HTML-код
  • Опубликовано: 11 дек 2024

Комментарии • 86

  • @VideobufferGoPro12-kn2ok
    @VideobufferGoPro12-kn2ok 8 месяцев назад

    Примерно раз в пол года просматриваю этот урок, когда требуется прерывания использовать! Спасибо большое!)

    • @NRelectronics
      @NRelectronics  8 месяцев назад

      Спасибо и Вам за оценку моего труда!

  • @АллоЭксперт-ж8в
    @АллоЭксперт-ж8в 5 лет назад +5

    Все. Перехожу к Вам. Такой подачи материала еще не видел на русскоязычной стороне Ютуба!! Подписался и лайкнул все, что можно было (кроме Миландра, он не интересен, т. к. Stm он не конкурент). Для меня программирование микроконтроллеров это хобби, а Вы, видимо, занимаетесь этим профессионально!?

    • @NRelectronics
      @NRelectronics  5 лет назад

      Ох спасибо за такую похвалу, главное чтобы я не зазвидился как народ стрим. И профессионально, на работе, и дома конечно же. На Инстаграмме небольшая подборка моего рабочего стола и только некоторых отладочных плат. Я это делаю для людей, как для самого себя, когда бы сам этого не знал. Смотрите мои видео, кликая на колокольчик, за лайки тоже благодарю.

    • @Vladimir_Zarubin
      @Vladimir_Zarubin 5 лет назад +1

      @@NRelectronics В десяточку!!! Это насчет народ стрим.

  • @YurijVasiliev
    @YurijVasiliev 3 месяца назад

    супер! особенно про приоритеты - СПАСИБО

    • @NRelectronics
      @NRelectronics  3 месяца назад

      Благодарю. Подписывайтесь на канал и создавайте предзаказ на книгу!)

  • @raven8867
    @raven8867 3 года назад

    Спасибо, все просто и понятно. Очень размеренный/интересный канал!

    • @NRelectronics
      @NRelectronics  3 года назад

      Вам спасибо за такие слова! Стараюсь. Не забывайте про лайки и рекомендуйте знакомым.

  • @std-sort
    @std-sort 2 года назад

    Большое спасибо за урок! Очень информативно и все понятно!

    • @NRelectronics
      @NRelectronics  2 года назад

      Пожалуйста. Рекомендуйте другим.

  • @МихалИваныч
    @МихалИваныч 5 лет назад +8

    Спасибо огромное!)
    А примеры видов прерывания будете разбирать?
    Так же хотелось бы увидеть уроки по счётчикам/таймерам с примерами.
    Просьба - больше уделять внимание настройкам куба.
    Ещё раз огромное спасибо за разъяснения.

    • @NRelectronics
      @NRelectronics  5 лет назад +2

      Прерывания по таймерам будут когда будем рассматривать сами таймеры. Прерывания есть на всю периферию, у меня нет желания делать все обо всем и кучу мола.
      Ваша просьба выполнена! У меня есть специально для Вас видео по кубу: ruclips.net/video/E2NbqZBZH-0/видео.html

  • @АлексПовзун-г6у
    @АлексПовзун-г6у 5 лет назад +2

    Спасибо за ваше творчество!

    • @NRelectronics
      @NRelectronics  5 лет назад

      Вам спасибо за такую оценку!) Приятного обучения!)

  • @iaroslavsisenco4072
    @iaroslavsisenco4072 4 года назад +1

    Большое спасибо! Очень показательно и доходчиво!

  • @aliscander92
    @aliscander92 4 года назад

    Спасибо Вам большущее! Осваиваю stm32 для работы и своих радиотехнических проектов. Недавно нашел Ваш канал. У вас прекрасно сбалансирована теория и практика,что дает целостное понимание каждой функции. Если есть возможность можете сделать уроки по CMSIS, пожалуйста.

    • @NRelectronics
      @NRelectronics  4 года назад

      Спасибо и Вам за высокую оценку. Стараюсь. Уроки по CMSIS планируются в этом году.

  • @alexmak4201
    @alexmak4201 5 лет назад +1

    Всё супер. Просьба, уменьшить громкость при заставке.

    • @NRelectronics
      @NRelectronics  5 лет назад

      Спасибо. Хорошо уменьшу.

  • @0mgPoco
    @0mgPoco 4 месяца назад

    Автору 👍

  • @clora1136
    @clora1136 4 года назад

    Хорошие видео. Спасибо)

    • @NRelectronics
      @NRelectronics  4 года назад

      Пожалуйста) не забывайте про лайки)

  • @Ironziz
    @Ironziz 5 лет назад

    Познавательные уроки !!!😎 👍
    Так держать!
    Единственно, а можно ещё уроки по cubeide , очень интересны возможности и специфика работы с STM ской прогой!!!
    А так все классно!!!

    • @NRelectronics
      @NRelectronics  5 лет назад +1

      Спасибо за такие слова оценки!) Стараюсь как могу, жалко времени свободного немного, работа, семья, доча) Но при этом канал будет развиваться глубоко. Я уже обещал одному из подписчиков о втором видео по CubeIDE, видео по ней в планах стоит ;-) не забываем про лайки ;-)

    • @Ironziz
      @Ironziz 5 лет назад

      Спасибо за обратную связь! Ждём уроки! 😊

    • @NRelectronics
      @NRelectronics  5 лет назад +1

      @@Ironziz а пожалуйста за обратную связь ;-) !

  • @ДимаДима-к1н
    @ДимаДима-к1н 4 года назад

    USER_Pin битовая маска == GPIO_PIN_9 Смысл СРАВНИВАТЬ МАСКИ ?
    Там должно быть как минимум *GPIOA->IDR&& GPIO_PIN_9
    (bulean)Hal_ReadPin(*port,USER_Pin)
    Прошу прощения за вольную трактовку синтаксиса....
    Hal хорошо, ГДЕ CMSIS?

    • @NRelectronics
      @NRelectronics  4 года назад

      Будет, когда подойдет время.

  • @elmirakassymova380
    @elmirakassymova380 3 года назад

    Здравствуйте, подскажите, пожалуйста, кнопками EXTI отправляю пакеты в Кан шину, они мешают друг другу. В чем может быть проблема?

    • @NRelectronics
      @NRelectronics  3 года назад

      Формируйте тогда пакет, так чтобы они вам не мешали))

  • @slavaglow6933
    @slavaglow6933 5 лет назад

    Спасибо за урок.
    Не совсем понял в прерывании зачем вызов функции
    :
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);

    • @NRelectronics
      @NRelectronics  5 лет назад

      Пожалуйста) Она генерируется самим кубом, я ее не писал и об этом говорил.

    • @alexivanov4022
      @alexivanov4022 5 лет назад +3

      Чтоб сбрасывать флаги

  • @YurijVasiliev
    @YurijVasiliev 3 месяца назад

    И подписан и лайк!!!! а что за книга???

    • @NRelectronics
      @NRelectronics  3 месяца назад

      Благодарю. "Освоение STM32 самостоятельно" - первая книга из серии. Сейчас можно оформить предзаказ оформить, сейчас печатается в издательстве.

  • @ЕвгенийМельник-я6в

    Непонятно как при нажатии на кнопку "User" будет лог."1". Было бы хорошо еще над группами приоритетов провести опыты, этого уж точно никто не делал. Нагляднее было бы 4 кнопки и на каждую кнопку свой светодиод. За видео спасибо.

    • @NRelectronics
      @NRelectronics  5 лет назад

      Там в одном месте оговорился, так как кнопка срабатывает на землю. А с группами приоритетов это второй пример, который объемный ;-)

    • @NRelectronics
      @NRelectronics  5 лет назад

      Может в другой раз привести с 4-мя кнопками пример над субгруппами, но суть то такая же как и с группами. Благо их 9 штук в таком исполнении отладочной платы))

  • @ivanrusev2270
    @ivanrusev2270 9 месяцев назад

    Я недавно только понял как делать аппаратно-программную задержку.Через внешние прерывание с таймером .

    • @NRelectronics
      @NRelectronics  9 месяцев назад

      Отлично что разобрались.

    • @ЭльМеф
      @ЭльМеф 9 месяцев назад

      @@NRelectronicsПравда ресурсов аппаратно-программная задержка требует больше. Правда я в AVR экспериментировал.4 ШИМ канала нужно было чтобы один ШИМ канал загорелся плавно и и погас потом второй канал так же третий и четвёртый.На каждое действие один внешний канал.Действий в одном канале ШИМа 2 .Вообщем 8 INT каналов .два таймера на ШИМ.Один таймер в прерываниях работает.8 установочных флагов .8 GPIO работающих в двух режимах togle и в логическом "0".Сейчас на Stm32 переношу опыт.На другие проекты.Переферия лучше.

    • @NRelectronics
      @NRelectronics  9 месяцев назад

      Молодцы, интересно сделали. На STM32 переферия значительно лучше чем на AVR. Даже на простых семействах класс. Рекомендую!

    • @ЭльМеф
      @ЭльМеф 9 месяцев назад

      @@NRelectronics На stm32 проект Bobr-станция управления глубинным насосом с защитой 3фазного эл.двигателя по току от обрыва фаз и перегрузки на ютубе посмотрите.5 лет програмирую на stm32 9 на avr.Начинал с абсолютного нуля.Работал электриком.

    • @NRelectronics
      @NRelectronics  9 месяцев назад

      Молодцы, здорово. Как поищу посмотрю обязанности.

  • @takeshi854
    @takeshi854 4 года назад

    Спасибо за видео! Очень круто объясняете. Хотел бы задать вопрос: а если нужно сделать задержку на определенное время в прерывании это надо новый счётчик включать, раз HAL_Delay() вводит в boot loop.

    • @NRelectronics
      @NRelectronics  4 года назад

      Спасибо. Так да, новый счётчик, зачем только по прерыванию еще задержка?

    • @takeshi854
      @takeshi854 4 года назад

      @@NRelectronics Да, такой вопрос часто спрашивают) Я хотел бы по нажатию кнопки прекратить на некоторое время идущий таймер, отобразить на этом же led сегменте температуру и влажность и потом после отпускания продолжить работу счётчика. Так же в будущем хочу подсчитать время нажатия кнопки, для долгого удержания ещё и обнулить счётчик.

    • @NRelectronics
      @NRelectronics  4 года назад +2

      Я вас понял, зачем так нужно. Помереть время работы участков программы можно с помощью DWT.

    • @ДимаДима-к1н
      @ДимаДима-к1н 4 года назад

      @@NRelectronics пРИМЕРЧИК ...ДЛЯ ЛЮДЕЁ НЕ ОБЛАДАЮЩИХ...знанием и фантазией! Про систик слышал, кнопку с прерыванием на вход таймера(захват)представил...только можно ли сразу 2е ф-ии на один вход навесить(таймер & прерывание)?

  • @therianet
    @therianet 5 лет назад

    ogromnoe spasibo, ochen horosho uchite.
    zachem tolko if(User_pin==GPIO_PIN_9) ono ze vsegda TRUE, i pochemy ne stali ispolzovat callback fuction ?

    • @NRelectronics
      @NRelectronics  5 лет назад

      Callback покажу в другом видео, сложно показать примеры по всей библиотеки. Поэтому пока основу или базу показываю.

  • @alexivanov4022
    @alexivanov4022 5 лет назад

    Ждем ЮАРТ на прерываниях!!!!!

    • @NRelectronics
      @NRelectronics  5 лет назад

      Конечно будет UART на прерываниях ;-)

  • @TheAurumsan1
    @TheAurumsan1 5 лет назад

    Огромное спасибо! Ну почему нет таких преподов, или они попадаются только счастливчикам?!

    • @NRelectronics
      @NRelectronics  5 лет назад +1

      Значит Вы счастливчик ;-)

  • @DunnoOnTheMoon
    @DunnoOnTheMoon 3 года назад

    Что то не могу понять. После каждой перегенерации кода очищается мой код. Хотя вроде и галочка стоит сохранять код и пишу между тегами юзерского кода.
    Загадка..🙄
    Сорян. Не разобрался где начало, а где конец тега😂. Вроде работает.

    • @NRelectronics
      @NRelectronics  3 года назад +1

      Да, там нужно писать в тегах между begin и end. И все будет отлично!

    • @DunnoOnTheMoon
      @DunnoOnTheMoon 3 года назад

      @@NRelectronics там слишком много оказалось бегинов и эндов в одном месте). Надо внимательно читать)

    • @DunnoOnTheMoon
      @DunnoOnTheMoon 3 года назад

      @@NRelectronics делаю примеры на своей f0discovery. Там схемотехника кнопки дурацкая. Кнопка замыкает питание. Получается никакой подтяжки делать не нужно?
      И без подтяжки у меня неустойчиво работает. Похоже на дребезг кнопки. Хотя не жму уже в этот момент давно.

    • @NRelectronics
      @NRelectronics  3 года назад

      Конечно внимательнее надо ;)

    • @NRelectronics
      @NRelectronics  3 года назад

      Там на кнопке должен был кондер, чтобы не было дребезга.

  • @АркадийБардамов
    @АркадийБардамов 5 лет назад

    А каким образом решается проблема с дребезгом кнопок???
    Спасибо за видео, пример хороший)

    • @NRelectronics
      @NRelectronics  5 лет назад

      В данных примерах не акцентировал внимание на дребезге. Обещаю в ближайшем уроке приведу код по решению данного вопроса)

    • @АркадийБардамов
      @АркадийБардамов 5 лет назад

      @@NRelectronics спасибо, жду)
      И ещё сам подумаю конечно)

    • @kokotmkokot4926
      @kokotmkokot4926 5 лет назад +1

      @@NRelectronics Вы это серьезно? Прерывание срабатывает на заданный фронт и второго фронта для проверки не подразумевается. Может я ошибаюсь и Вы привели пример кода, позволяющий отделить фронт помехи от фронта полезного сигнала?

    • @kokotmkokot4926
      @kokotmkokot4926 5 лет назад

      @@NRelectronics еще возникает такой вопрос, Вы обрабатываете прерывание после сброса флага. Что произойдет в случае прихода нового прерывания если обработчик еще не закончил свою работу? спасибо.

    • @NRelectronics
      @NRelectronics  5 лет назад

      @@kokotmkokot4926 по приходу нового прерывания в теоретическим видео все разжевано, посмотрите пожалуйста. Все зависит от уровня приоритета в таблице векторов прерываний, а также от субгруппы. Может как и прервать выполнения перывания, так и стать в очередь на выполнение...

  • @sama9_Live
    @sama9_Live 4 года назад +1

    пачему HAL учите нармально , библиотека убогая и медленная

    • @NRelectronics
      @NRelectronics  4 года назад

      пАтАму что ))

    • @takeshi854
      @takeshi854 4 года назад

      STMicroelctronics её, если не ошибаюсь, рекомендует на АК основную. Не зря же они пыхтели и оборачивали функции.