STM32. CMSIS. Урок#02: Дискретный вход. Внешние прерывания EXTI.

Поділитися
Вставка
  • Опубліковано 15 жов 2024

КОМЕНТАРІ • 30

  • @statstopfinish
    @statstopfinish 2 роки тому +2

    Спасибо за уроки . Очень хорошо что вы так подробно и доступно раскрываете тему CMSIS.

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

    I don't understand even one word of what you are talking abou, but I love watching your videos and I learn a little bit of them

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

      it should be easier for an English-speaking person to understand these topics, because all documentation in English)

  • @АлександрКорнеев-ф9э

    Олег, а это нормально что в регистре GPIOx_IDR некоторые биты в 0, другие в 1? Хотя я их не пулапил и не пушдаунил.
    Чуть дальше посмотрел и услышал ответ на мой вопрос) Помехи ловят не подтянутые никуда пины.

  • @АндрейПолетимов
    @АндрейПолетимов 10 місяців тому

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

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

    не знаю будет ли ролик про АЦП, но если будет то сделайте обработку двух каналов, а не одного. Про один у всех есть, а как два запустить приходиться долго искать.
    В авр к примеру все просто, сработало прерывание по завершению преобразования ацп, зашли туда, считали данные, перестроили на другой канал и все. Спасибо)

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

      Dma тоже в масив int[4] с подсчётом среднего бегущего, или хотя бы 2х последних из каждого АЦП.
      И вопросик про количество два каналов для АЦП.... Можно ли дип в 2 независимых потока писат в 2[4]?

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

      @@serggorod1423 та дма то потом, нужно постепенно ж идти, а то не поймем. много информации разово тоже плохо, мало запомниться)

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

      Ацп по-любому буду сразу в несколько каналов рассматривать) дма тоже подключить надо будет. Разберемся)

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

    Молодец, Олег!!! Продолжай уроки по CMSIS, так глядишь, и до Н-моста дойдем, чтобы сделать чистый синус) Статейки в нете на эту тему есть, кстати!

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

      А потом можно и к трехфазным вещам подойти)

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

      Я их боюсь🫣 там столько защит нужно продумывать…

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

      @@Solderingironspb думаю если вы этим займетесь, это будет очень хороший контент для ваших подписчиков и зрителей)

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

      У меня пока очень много тем не снято, как гальваническая развязка, дискретный вход до 30В, дискретный выход с развязкой, драйвер для шим сигнала, обратный диод в индуктивных нагрузках и прочее) до трехфазных штук еще топать и топать)

  • @oksanasavenko554
    @oksanasavenko554 9 місяців тому

    В целом впечатление положительное, но ти ли из-за невнимательности, то ли уровня владения английским, иногда получаются фальшконцепции, как например с регистром EXTI_IMR, который отвечает не за включение прерывания, как было сказано, а за тип прерывания (maskable or non maskable).
    Т.ч. всем учащимся советую внимательно перепроверять назначения всех регистров по мануалам.

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

    А урок по внешнему прерыванию на HAL будет?, спасибо

    • @Solderingironspb
      @Solderingironspb  Рік тому +1

      ua-cam.com/video/zRNqnhbXJlw/v-deo.html

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

      @@Solderingironspb Да, спасибо,уже нашёл и посмотрел, то что нужно, отличные уроки

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

    А если до STM32 сидел на ATmega и исключительно на ассемблере, тогда стоит, всё же начинать изучение STM32 с CMSIS? Просто для меня высокий уровень абстракции, это запутка мозга.

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

      Можете и с cmsis. По документации, как оказалось, легче работать, чем с абстракцией

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

      @@Solderingironspb Абстракция бывает разной. Особенно „радует“ когда говорят : скачайте библиотеку и будет вам счастье. А библиотека-то самописная и сам чёрт ногу сломит, чем автор библиотеки руководствовался. Захочешь таймер использовать, а ннннет - он уже занят, но об этом нигде в библиотеке-то и не указано. Так что я за cmsis. В документации разобраться не сложно. А библиотек и высокого уровня абстракций бесконечное множество. Каждый раз нужно сначала изучить библиотеку, а уж потом пользоваться

  • @АлександрКорнеев-ф9э

    Чудеса творятся, переменные которые типа bool в Live Watch находятся по одному и тому же адресу. И по нажатию одной из кнопок (кнопки на разных пинах порта А) меняются значения сразу в обоих переменных, на вторую кнопку реакции нет. В регистре IDR всё происходит как задумано. Если вместо bool использовать int, то все работает как у вас на видео. А если uint8_t то тоже самое что и с bool. В cube idе всё нормально. Что же делать.... Написал код чтоб от каждой кнопки зажигался свой светодиод. Работает как положено. Но опять таки Live Watch врет что от одной кнопки сбрасываются в ноль сразу две переменные. Может что-то в настройка надо менять?(

    • @ЯковШефер-х4ц
      @ЯковШефер-х4ц 10 місяців тому +1

      Та же байда. В чем причина - не могу понять. int, uint16_t и uint32_t отображается нормально, а при bool и uint8_t отображаются под одним адресом. Думаю причина в VS, т.к. камень живой и работает нормально. У меня VS 2019 версия 16.11.32 + VisualGDB 5.6R9 (build 4777)

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

    👍👍

  • @АлександрРязанцев-ж8ы

    Событие (event) это прерывание без вектора .Прочитав регистр вы поймете что что то произошло.

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

      Ну да, но… для чего его использовать? Где это может пригодиться?

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

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

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

      Понял) спасибо))

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

    🤘