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

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 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)

  • @АндрейПолетимов
    @АндрейПолетимов 10 หลายเดือนก่อน

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

  • @AlexRootx
    @AlexRootx 2 ปีที่แล้ว

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

    • @micromaster4405
      @micromaster4405 2 ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  2 ปีที่แล้ว

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

    • @micromaster4405
      @micromaster4405 2 ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  2 ปีที่แล้ว

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

  • @АлександрКорнеев-ф9э
    @АлександрКорнеев-ф9э ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  ปีที่แล้ว

      Угусь) подтяжка обязательна

  • @openFrimeTv
    @openFrimeTv 2 ปีที่แล้ว

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

    • @serggorod1423
      @serggorod1423 2 ปีที่แล้ว

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

    • @openFrimeTv
      @openFrimeTv 2 ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  2 ปีที่แล้ว +1

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

  • @nurbolatamanbayev9617
    @nurbolatamanbayev9617 2 ปีที่แล้ว

    👍👍

  • @oksanasavenko554
    @oksanasavenko554 9 หลายเดือนก่อน

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

  • @WOODIX
    @WOODIX ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  ปีที่แล้ว +1

      th-cam.com/video/zRNqnhbXJlw/w-d-xo.html

    • @WOODIX
      @WOODIX ปีที่แล้ว

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

  • @ShashHryundel
    @ShashHryundel ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  ปีที่แล้ว

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

    • @ShashHryundel
      @ShashHryundel ปีที่แล้ว

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

  • @АлександрКорнеев-ф9э
    @АлександрКорнеев-ф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)

  • @АлександрРязанцев-ж8ы
    @АлександрРязанцев-ж8ы 2 ปีที่แล้ว

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

    • @Solderingironspb
      @Solderingironspb  2 ปีที่แล้ว

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

    • @ciklomat
      @ciklomat 2 ปีที่แล้ว +1

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

    • @Solderingironspb
      @Solderingironspb  2 ปีที่แล้ว +1

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

  • @FJHCJCJCJHCHFHFJJFJCFJ
    @FJHCJCJCJHCHFHFJJFJCFJ 2 ปีที่แล้ว

    🤘