STM32. Урок 11. NVIC. Прерывания. Контроллер прерываний NVIC

Поділитися
Вставка
  • Опубліковано 2 сер 2019
  • Следующий урок по основным блокам работы микроконтроллеров STM32 на ядре Cortex-M3, на этот раз это NVIC - контроллер прерываний. Зритель ознакомиться с работой этого контроллера, а также с особенностями оптимизации для более производительной работы микроконтроллеров от ST.
    Вы можете помочь каналу Яндекс-деньги:
    money.yandex.ru/to/4100115727...

КОМЕНТАРІ • 50

  • @user-px9il3me6y
    @user-px9il3me6y 4 роки тому +4

    Очень хорошо все рассказано, автору спасибо!))

  • @std-sort
    @std-sort Рік тому

    Большое спасибо автору канала за знания)

    • @NRelectronics
      @NRelectronics  Рік тому

      Пожалуйста. Главное что на пользу!))

  • @Vlad_4572
    @Vlad_4572 4 роки тому +2

    "Здесь мы научились... " )))) смех сквозь слёзы. Чем дальше изучаю, тем больше информации, которая уже не хочет укладываться. Такое чувство, что я этот STM32 никогда не победю((
    Люди, у меня у одного такая фигня? Или у меня слишком большие требования к себе?
    Автор, а сколько вы по времени изучали этот МК?

    • @NRelectronics
      @NRelectronics  4 роки тому

      Научитесь, главное больше практиковаться и не переживать так))

  • @user-ld2xi8sn6l
    @user-ld2xi8sn6l 5 років тому +1

    Привет.Я довольно давно пишу под stm32 но мне все еще не приходилось "разруливать" приоритеты прерываний.Хотя у меня и сложные проекты бывают.Но мне пока все равно какое прерывание сработает раньше другого.Классный у тебя канал

    • @NRelectronics
      @NRelectronics  5 років тому +2

      Спасибо за оценку моей работы. Это меня подстёгивает работать дальше и лучше. Да тут действительно все от задачь зависит. Что нужно. В следующем видео пару примерчиков приведу.

  • @archilvarsimashvili5421
    @archilvarsimashvili5421 4 роки тому +3

    Спасибо за Вашу работу. Хотелось бы поподробнее по функциям Callback. Попробуйте загуглить, нет ничего(хотя, может я не могу найти, буду благодарен за ссылку). Общий принцип как то понятен, но нет информации в каких случаях оправданно их использование, когда обработчик можно посадить в ..._it.c. То есть, нет какой то стройной теории по использованию обработчика

    • @NRelectronics
      @NRelectronics  4 роки тому +2

      Пожалуйста, не забывайте про лайки для других. Записал себе в план.

  • @igorying8548
    @igorying8548 3 роки тому

    Отличный курс, спасибо!

    • @NRelectronics
      @NRelectronics  3 роки тому

      Спасибо. Ожидайте его продолжения скоро.

  • @user-qj8yp3qf2l
    @user-qj8yp3qf2l 3 роки тому

    Хороший материал

    • @NRelectronics
      @NRelectronics  3 роки тому

      Спасибо. Подписывайтесь, рекомендуйте.

    • @user-qj8yp3qf2l
      @user-qj8yp3qf2l 3 роки тому

      @@NRelectronics И то, и другое - уже

    • @user-qj8yp3qf2l
      @user-qj8yp3qf2l 3 роки тому

      @@NRelectronics Хорошо, что напомнили. Просили скинуть ссылку

    • @NRelectronics
      @NRelectronics  3 роки тому

      Спасибо за и то и то)) Ожидайте новых интересных видео.

  • @user-db1zg5jd4m
    @user-db1zg5jd4m 4 роки тому +2

    Спасибо за труды. А будут уроки по интерфейсам связи?

    • @NRelectronics
      @NRelectronics  4 роки тому +1

      Да, конечно будут по интерфейсам. После примеров на прерывания будет USART следующее видео.

    • @user-db1zg5jd4m
      @user-db1zg5jd4m 4 роки тому +1

      @@NRelectronics супер! :) Ещё одна просьба не могли бы вы чууууточку подробнее отвечать на вопросы "что это такое", "для чего нужно" и "примеры использования".
      Я год назад впервые в жизни столкнулся с микроконтроллерами, а именно с ардуино. Немного помигал диодами, попробовал датчики, дисплей 1602.
      Так же впервые стокнулся с языком С, но сложностей не возникло, так как пишу приложения на РНР.
      Потом заинтересовался характеристиками и возможностями МК. И тут я наткнулся на stm :D
      Понял, что на ардуино далеко не уедешь, да подкупала мощь стм за те же деньги))
      Но так как ни русскоязычной литературы, ни толковых уроков в сети нет, где всё разбирается с азов, пришлось читать книги по авр. Разобрался с такими понятиями как архитектура; ядро; ram, rom, eeprom памяти, с регистрами и с коммуникационными интерфейсами. Разобрался как работают регистры, что такое разрядность, шины, как проходят операции чтения и записи в память на электронном уровне. Но авр и арм отличаются инструкциями. Поэтому и хотелось бы подробнее изучить этот момент.

    • @NRelectronics
      @NRelectronics  4 роки тому +2

      @@user-db1zg5jd4m Я вроде всегда стараюсь отвечать максимально подробно. Если нет, повторно переспрашивайте. Вы большой молодец что подробно разбираетесь в основным блоках МК и с самим МК, так держать!)

  • @iaroslavsisenco4072
    @iaroslavsisenco4072 4 роки тому +1

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

    • @NRelectronics
      @NRelectronics  4 роки тому +1

      Отдельные проекты конечно будут. Это ветка "Архитектура и теория".

    • @NRelectronics
      @NRelectronics  4 роки тому +1

      Тут ещё сложность в том, что неизвестно что кому надо... Схемотехника тут простая, трассировка печатки вытекающе проста, а вот настроить МК с нужными параметрами часто вызывает вопросы, об этом и серия обучающих видео.

  • @Aleksandr_Sidorov
    @Aleksandr_Sidorov 5 років тому +1

    Наверно придется еще один урок делать ,где конкретно работает обработчик прерываний , и как выбирать их приоритеты

    • @NRelectronics
      @NRelectronics  5 років тому

      Где и как работает обработчик прерываний будет в примерах. А какие выбирать приоритеты это собственно ты и решаешь как программист ;-)

  • @user-vg8md7uu5f
    @user-vg8md7uu5f 2 роки тому

    Есть несколько вопросов: 1) Почему в сохранении контекста участвуют только несколько регистров, а не сохраняются регистры R4--R11 ? Почему бы не сохранить весь регистровый файл? 2) Что за мультицикловые команды STR и LDR ? Где о них почитать ? В "Mastering STM32" о них ничего не нашел. 3) Где можно получше узнать о Tail-chaining ? Откуда эти картинки?

    • @NRelectronics
      @NRelectronics  2 роки тому

      1. Эти регистры под несколько другие задачи, почитайте по ним.
      2. Ребят, ну гугл есть, книги по NVIC есть...
      3. www.amazon.com/dp/0750685344
      Ваш Mastering STM32 это для тех кто сам документацию читать не может.

  • @CoBaldr
    @CoBaldr 4 роки тому

    На cmsis это будет менее объемно, но сложнее к восприятию.

    • @NRelectronics
      @NRelectronics  4 роки тому

      Что это сложнее так это точно, поэтому в этой серии видео пока показываю на хале. А вот что меньше тут момент сложный, в видео указывал, что в вызовах прерываний проверяется множество условий, возможно в следующем видео...возможно не меньше если в объеме хале, а если только под одну задачу, да, поменьше.

    • @CoBaldr
      @CoBaldr 4 роки тому

      @@NRelectronics я подразумевал количество строк

    • @NRelectronics
      @NRelectronics  4 роки тому

      @@CoBaldr для одного прерывания да. Хал проверяет много чего нужного и нет.

  • @BoolAB76
    @BoolAB76 2 роки тому

    Джиттер (дрожание) - это непостоянство времени от момента возникновения прерывающего события до момента передачи управления первой команды обработчика прерывания. Джиттера не может не быть, так как контроллер всегда должен завершить выполнение текущей команды прежде чем начать процедуру сохранения контекста и т.п. В идеале дрожание не превышает одного машинного цикла. Но может и превышать.

    • @NRelectronics
      @NRelectronics  2 роки тому +1

      Всё так примерно и есть. Для STM32 нормируется джиттер?

    • @BoolAB76
      @BoolAB76 2 роки тому

      @@NRelectronics не могу знать, ибо пока только знакомлюсь с этими контроллерами. По Вашим урокам. Спасибо за огромный труд по созданию этого цикла.
      Собственно, по вопросу. На основании информации, полученной в этом плейлисте. К этому уроку Вами упоминалась самая длинная атомарная операция - чтение-модификация-запись регистра GPIO, которая выполняется за три цикла. Значит, джиттер уже может достигать длительности трёх циклов. И ещё половина плейлиста впереди ;)

    • @NRelectronics
      @NRelectronics  2 роки тому

      Молодцы! Продолжайте, главное не бросайте!!

    • @NRelectronics
      @NRelectronics  6 місяців тому

      Всё же джиттер отсутствует - из-за поддержки мультицикловых команд (STR, LDR)

    • @BoolAB76
      @BoolAB76 6 місяців тому

      @@NRelectronics , в тактируемой системе ничто не может произойти быстрее одного такта. Разве что асинхронный сброс из взведение какого-то триггера, но это к обработке прерывания не относится.
      Это легко проверить. Делаем бесконечный цикл, который обнуляет выход. И прерывание всего из двух команд: запись 1 в выход и покидание обработчика. Прерывание по фронту на входе. Продаём на вход частоту, раз в 5 меньше частоты ядра. По фронту входа синхронизируем осциллограф. Сигнальный щуп на упомянутый выше выход. Уверен, увидите дрожание в пределах одного такта ядра.

  • @Korbomen
    @Korbomen 2 роки тому

    Зачем нужны прерывания если есть dma? Нужно просто проверять флаги

    • @NRelectronics
      @NRelectronics  2 роки тому

      Потому что не во всех мк есть DMA, везде есть нюансы.

    • @NRelectronics
      @NRelectronics  6 місяців тому

      DMA работает на основе прерываний если что))

  • @Music-ec8rz
    @Music-ec8rz 3 роки тому

    самый доступный материал, на русском языке

    • @NRelectronics
      @NRelectronics  3 роки тому

      Благодарю. Рекомендуйте для других.

    • @Music-ec8rz
      @Music-ec8rz 3 роки тому +1

      @@NRelectronics у Вас, все структурировано и понятно. Можно конспект записывать. Очень доступно изложено про порты ввода-вывода (урок 8 и 9), всем рекомендую. На канале народ стрим, много материала, но очень сумбурно аля делаем так и просто повторяем за мной, у Вас же можно научится и потом думать своей головой. Еще раз спасибо.

    • @NRelectronics
      @NRelectronics  3 роки тому

      @@Music-ec8rz Спасибо!)